using static RebirthManager; public class NetPackageRemoveHireRebirth : NetPackage { private int hireID; public NetPackageRemoveHireRebirth Setup(int hireID ) { this.hireID = hireID; return this; } public override void read(PooledBinaryReader _br) { this.hireID = _br.ReadInt32(); } public override void write(PooledBinaryWriter _bw) { base.write(_bw); _bw.Write(this.hireID); } public override int GetLength() { return 2; } public override void ProcessPackage(World _world, GameManager _callbacks) { //Log.Out("NetPackageRemoveHireRebirth-ProcessPackage START"); if (_world == null) { //Log.Out("NetPackageRemoveHireRebirth-ProcessPackage 1"); return; } for (int i = 0; i < playerHires.Count; i++) { if (playerHires[i].hireID == this.hireID) { playerHires.RemoveAt(i); //Log.Out("NetPackageRemoveHireRebirth-ProcessPackage REMOVED HIRE: " + this.hireID); break; } } for (int i = 0; i < observers.Count; i++) { if (observers[i].entityID == this.hireID) { GameManager.Instance.RemoveChunkObserver(observers[i].observerRef); observers.RemoveAt(i); //Log.Out("NetPackageRemoveHireRebirth-ProcessPackage REMOVED OBSERVER"); break; } } RebirthManager.SaveCurrent(); } }