89 lines
3.0 KiB
C#
89 lines
3.0 KiB
C#
using Audio;
|
|
|
|
public class NetPackageScenarioAddDiscoveredPrefab : NetPackage
|
|
{
|
|
public NetPackageScenarioAddDiscoveredPrefab Setup(string _navObjectClassName, float _posX, float _posY, float _posZ, string _report, string _sound)
|
|
{
|
|
//Log.Out("NetPackageScenarioAddDiscoveredPrefab-Setup");
|
|
this.navObjectClassName = _navObjectClassName;
|
|
this.posX = _posX;
|
|
this.posY = _posY;
|
|
this.posZ = _posZ;
|
|
this.report = _report;
|
|
this.sound = _sound;
|
|
return this;
|
|
}
|
|
|
|
public override void read(PooledBinaryReader _br)
|
|
{
|
|
//Log.Out("NetPackageScenarioAddDiscoveredPrefab-read");
|
|
this.navObjectClassName = _br.ReadString();
|
|
this.posX = _br.ReadSingle();
|
|
this.posY = _br.ReadSingle();
|
|
this.posZ = _br.ReadSingle();
|
|
this.report = _br.ReadString();
|
|
this.sound = _br.ReadString();
|
|
}
|
|
|
|
public override void write(PooledBinaryWriter _bw)
|
|
{
|
|
//Log.Out("NetPackageScenarioAddDiscoveredPrefab-write");
|
|
base.write(_bw);
|
|
_bw.Write(this.navObjectClassName);
|
|
_bw.Write(this.posX);
|
|
_bw.Write(this.posY);
|
|
_bw.Write(this.posZ);
|
|
_bw.Write(this.report);
|
|
_bw.Write(this.sound);
|
|
}
|
|
|
|
public override void ProcessPackage(World _world, GameManager _callbacks)
|
|
{
|
|
//Log.Out("NetPackageScenarioAddDiscoveredPrefab-ProcessPackage START");
|
|
if (_world == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Vector3 location = new Vector3();
|
|
location.x = this.posX;
|
|
location.y = this.posY;
|
|
location.z = this.posZ;
|
|
|
|
if (SingletonMonoBehaviour<ConnectionManager>.Instance.IsServer && !SingletonMonoBehaviour<ConnectionManager>.Instance.IsSinglePlayer)
|
|
{
|
|
SingletonMonoBehaviour<ConnectionManager>.Instance.SendPackage(NetPackageManager.GetPackage<NetPackageScenarioAddDiscoveredPrefab>().Setup(this.navObjectClassName, this.posX, this.posY, this.posZ, report, sound));
|
|
}
|
|
else
|
|
{
|
|
//Log.Out("NetPackageScenarioAddDiscoveredPrefab-ProcessPackage ADD NAV OBJECT at: " + location);
|
|
NavObjectManager.Instance.RegisterNavObject(this.navObjectClassName, location, this.navObjectClassName);
|
|
|
|
//Log.Out("NetPackageScenarioAddDiscoveredPrefab-ProcessPackage report: " + report);
|
|
//Log.Out("NetPackageScenarioAddDiscoveredPrefab-ProcessPackage sound: " + sound);
|
|
|
|
if (report != "")
|
|
{
|
|
EntityPlayerLocal primaryPlayer = GameManager.Instance.World.GetPrimaryPlayer();
|
|
|
|
if (primaryPlayer != null)
|
|
{
|
|
Manager.PlayInsidePlayerHead(sound);
|
|
GameManager.ShowTooltip(primaryPlayer, report, string.Empty);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
public override int GetLength()
|
|
{
|
|
return 8;
|
|
}
|
|
|
|
private string navObjectClassName = "";
|
|
private float posX = 0;
|
|
private float posY = 0;
|
|
private float posZ = 0;
|
|
private string report = "";
|
|
private string sound = "";
|
|
}
|