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.Instance.IsServer && !SingletonMonoBehaviour.Instance.IsSinglePlayer) { SingletonMonoBehaviour.Instance.SendPackage(NetPackageManager.GetPackage().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 = ""; }