Example #1
0
        public override void SetData(int packetId, byte[] buffer)
        {
            using (var ms = new MemoryStream(buffer, false))
            {
                List <ItemW> items1 = new List <ItemW>();
                for (int i = 0; i < Player.MAX_TRADE_ITEMS; i++)
                {
                    ItemW newItem = ReadItem(ms);
                    if (newItem == null)
                    {
                        continue;
                    }

                    newItem.count = ReadInt32(ms);
                    items1.Add(newItem);
                }
                List <ItemW> items2 = new List <ItemW>();
                for (int i = 0; i < Player.MAX_TRADE_ITEMS; i++)
                {
                    ItemW newItem = ReadItem(ms);
                    if (newItem == null)
                    {
                        continue;
                    }

                    newItem.count = ReadInt32(ms);
                    items2.Add(newItem);
                }

                TradeController.instance.ProcessTradeList(items1, items2);

                CheckEndPacket__(packetId, ms);
            }
        }
Example #2
0
        protected ItemW ReadItem(MemoryStream ms)
        {
            ItemW item = new ItemW();
            int   id   = ReadInt16(ms);

            if (id == 0)
            {
                return(null);
            }

            item.id         = id;
            item.count      = ReadInt32(ms);
            item.enchantLvl = ReadInt8(ms);
            item.lifeTime   = ReadInt16(ms);
            return(item);
        }