Beispiel #1
0
        public static void ReceiveOperationResult(BinaryReader reader)
        {
            byte op = reader.ReadByte();

            /*
             * if (Main.netMode == NetmodeID.Server)
             *  Console.WriteLine($"Receiving Operation Result {op}");
             * else
             *  Main.NewText($"Receiving Operation Result {op}");
             */

            if (Main.netMode != 1)
            {
                //The data still needs to be read for exceptions to not be thrown...
                if (op == 0 || op == 1 || op == 3)
                {
                    ItemIO.Receive(reader, true);
                }
                else if (op == 2)
                {
                    int count = reader.ReadByte();
                    for (int i = 0; i < count; i++)
                    {
                        ItemIO.Receive(reader, true);
                    }
                }

                return;
            }
            if (op == 0 || op == 1 || op == 3)
            {
                Item item = ItemIO.Receive(reader, true);

                /*
                 * Main.NewText($"Item Read: [type: {item.type}, prefix: {item.prefix}, stack: {item.stack}]");
                 * Main.NewText($"Reader Position: {reader.BaseStream.Position}");
                 */

                StoragePlayer.GetItem(item, op != 3);
            }
            else if (op == 2)
            {
                int count = reader.ReadByte();
                for (int k = 0; k < count; k++)
                {
                    Item item = ItemIO.Receive(reader, true);

                    /*
                     * Main.NewText($"Item Read: [type: {item.type}, prefix: {item.prefix}, stack: {item.stack}]");
                     * Main.NewText($"Reader Position: {reader.BaseStream.Position}");
                     */

                    StoragePlayer.GetItem(item, false);
                }
            }
        }
Beispiel #2
0
        public static void ReceiveOperationResult(BinaryReader reader)
        {
            if (Main.netMode != 1)
            {
                return;
            }
            Player player = Main.player[Main.myPlayer];
            byte   op     = reader.ReadByte();

            if (op == 0 || op == 1 || op == 3)
            {
                Item item = ItemIO.Receive(reader, true);
                StoragePlayer.GetItem(item, op != 3);
            }
            else if (op == 2)
            {
                int count = reader.ReadByte();
                for (int k = 0; k < count; k++)
                {
                    Item item = ItemIO.Receive(reader, true);
                    StoragePlayer.GetItem(item, false);
                }
            }
        }