Exemplo n.º 1
0
        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();
                }
            }
        }
Exemplo n.º 2
0
 public override void Unload()
 {
     NetRouter.Unload();
 }
Exemplo n.º 3
0
 public override void PostAddRecipes()
 {
     NetRouter.Init(0);
 }
Exemplo n.º 4
0
 public override void HandlePacket(BinaryReader reader, int whoAmI)
 {
     NetRouter.RouteMessage(reader, whoAmI);
 }
Exemplo n.º 5
0
 public TransferAgent() : base()
 {
     NetRouter.AddHandler(this);
 }