public static void UnwindVisuals(Dictionary <Point16, byte> visited, Point16 startPoint) { Point16 p = startPoint; while (visited.ContainsKey(p)) { TransferAgent.Direction dir = (TransferAgent.Direction)visited[p]; visited[p] = (byte)TransferAgent.Direction.stop; //Stops multiple particles, if multiple containers receive switch (dir) { case TransferAgent.Direction.up: p = new Point16(p.X, p.Y - 1); break; case TransferAgent.Direction.down: p = new Point16(p.X, p.Y + 1); break; case TransferAgent.Direction.left: p = new Point16(p.X - 1, p.Y); break; case TransferAgent.Direction.right: p = new Point16(p.X + 1, p.Y); break; case TransferAgent.Direction.stop: return; } if (Main.netMode == 0) { CreateVisual(p, dir); } else { ModPacket packet = NetRouter.GetPacketTo(ModContent.GetInstance <TransferAgent>(), mod); packet.WritePackedVector2(p.ToVector2()); packet.Write((byte)dir); packet.Send(); } } }
public override void Unload() { NetRouter.Unload(); }
public override void PostAddRecipes() { NetRouter.Init(0); }
public override void HandlePacket(BinaryReader reader, int whoAmI) { NetRouter.RouteMessage(reader, whoAmI); }
public TransferAgent() : base() { NetRouter.AddHandler(this); }