Пример #1
0
 public ClientMoveWarehouseItemEventArgs(MoveWarehouseItemInfo i)
 {
     info = i;
 }
Пример #2
0
        private bool MoveWarehouseItem(Client c, MoveWarehouseItemInfo m, BaseItem item)
        {
            BaseItem itemunder = null;
            if (m.ItemUnderID != 0)
                itemunder = c.MyCharacter.Warehouse.Items.First(x => x.ItemID == m.ItemUnderID);

            if (m.ToSlot <= 65)
            {
                if (c.MyCharacter.Warehouse.MoveItem(c.MyCharacter, item, m.ToSlot, out itemunder))
                {
                    if (itemunder == null)
                    {
                        item.Slot = (byte)(m.ToSlot);

                        itemDataManager.UpdateItem(item);
                    }
                    else
                    {
                        int tempslot;
                        tempslot = item.Slot;
                        item.Slot = itemunder.Slot;
                        itemunder.Slot = (byte)tempslot;

                        itemDataManager.UpdateItem(item);
                        itemDataManager.UpdateItem(itemunder);
                    }

                    byte[] SendRemoveWarehouseItem = PacketManager.SendWarehouseRemoveItem(m.FromSlot, item.ItemID);
                    c.Send(SendRemoveWarehouseItem);

                    byte[] SendAddWarehouseItem = PacketManager.SendAddItemToWarehouse(2, item);
                    c.Send(SendAddWarehouseItem);

                    if (itemunder != null)
                    {
                        byte[] SendRemoveWarehouseItemUnder = PacketManager.SendWarehouseRemoveItem(m.ToSlot, itemunder.ItemID);
                        c.Send(SendRemoveWarehouseItemUnder);

                        byte[] SendAddWarehouseItemUnder = PacketManager.SendAddItemToWarehouse(2, itemunder);
                        c.Send(SendAddWarehouseItemUnder);
                    }

                    return true;
                }
            }

            return false;
        }
Пример #3
0
        public static MoveWarehouseItemInfo RecvMoveWarehouseItem(Packet p)
        {
            p.Skip(2);
            byte fromslot = p.ReadByte();
            int itemid = p.ReadInt();
            byte toslot = p.ReadByte();
            int itemunderid = p.ReadInt();

            MoveWarehouseItemInfo i = new MoveWarehouseItemInfo
            {
                FromSlot = fromslot,
                ItemID = itemid,
                ToSlot = toslot,
                ItemUnderID = itemunderid
            };

            return i;
        }