using UnityEngine.Scripting; [Preserve] public class NetPackageGetPurgePrefabs : NetPackage { public NetPackageGetPurgePrefabs Setup(int _entityPlayerID) { this.entityPlayerID = _entityPlayerID; return this; } public override void read(PooledBinaryReader _reader) { this.entityPlayerID = _reader.ReadInt32(); } public override void write(PooledBinaryWriter _writer) { base.write(_writer); _writer.Write(this.entityPlayerID); } public override void ProcessPackage(World _world, GameManager _callbacks) { //Log.Out("NetPackageGetPurgePrefabs-ProcessPackage START"); foreach (var prefab in RebirthManager.ClearedPrefabs) { Vector3 vector = new Vector3(prefab.Position.x + prefab.Size.x / 2f, prefab.Position.y, prefab.Position.z + prefab.Size.z / 2f); SingletonMonoBehaviour.Instance.SendPackage(NetPackageManager.GetPackage().Setup("purge_waypoint", vector.x, vector.x, vector.z, "", ""), false, this.entityPlayerID); } foreach (var prefab in RebirthManager.DiscoveredPrefabs) { Vector3 vector = new Vector3(prefab.Position.x + prefab.Size.x / 2f, prefab.Position.y, prefab.Position.z + prefab.Size.z / 2f); SingletonMonoBehaviour.Instance.SendPackage(NetPackageManager.GetPackage().Setup("discovered_waypoint_" + prefab.Difficulty, vector.x, vector.x, vector.z, "", ""), false, this.entityPlayerID); } } public override int GetLength() { return 2; } private int entityPlayerID; }