Files
7d2dXG/Mods/zzz_REBIRTH__Utils/Scripts/Network/NetPackageScenarioAddDiscoveredPrefab.cs
Nathaniel Cosford e06f2bd282 Add All Mods
2025-05-29 23:33:28 +09:30

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 = "";
}