using static EntityDrone; using System.Collections.Generic; public class NetPackageQuickStack : NetPackage { private int playerID; private bool mine; public List tileList; public NetPackageQuickStack Setup(int playerID, bool mine ) { this.playerID = playerID; this.mine = mine; return this; } public override void read(PooledBinaryReader _br) { this.playerID = _br.ReadInt32(); this.mine = _br.ReadBoolean(); } public override void write(PooledBinaryWriter _bw) { base.write(_bw); _bw.Write(this.playerID); _bw.Write(this.mine); } public override int GetLength() { return 3; } public override void ProcessPackage(World _world, GameManager _callbacks) { //Log.Out("NetPackageQuickStack-ProcessPackage START"); if (_world == null) { //Log.Out("NetPackageQuickStack-ProcessPackage 1"); return; } if (GameManager.Instance.World.GetEntity(this.playerID) is EntityPlayer player) { //Log.Out("NetPackageQuickStack-ProcessPackage 1"); List tileEntities = RebirthUtilities.GetTileEntities(player, RebirthVariables.quickStackDistance, true); tileList = new List(); foreach (var tileEntity in tileEntities) { if (GameManager.Instance.lockedTileEntities.ContainsKey((ITileEntity)tileEntity)) { //Log.Out("RebirthUtilities-QuickStackOnClick IS LOCKED: " + tileEntity.ToWorldPos()); tileList.Add(tileEntity.ToWorldPos()); } } SingletonMonoBehaviour.Instance.SendPackage((NetPackage)NetPackageManager.GetPackage().Setup(this.playerID, this.mine, this.tileList), _attachedToEntityId: this.playerID); } } }