Пример #1
0
        private void HandleRecvMoveItem(Packet parsed)
        {
            MoveItemInfo mii = PacketManager.RecvMoveItem(parsed);

            if (ClientMoveItemInfo != null)
            {
                ClientMoveItemInfo(this, new ClientMoveItemEventArgs(mii));
            }
        }
Пример #2
0
 public ClientMoveItemEventArgs(MoveItemInfo mii)
 {
     this.moveinfo = mii;
 }
Пример #3
0
        void c_ClientMoveItemInfo(object sender, ClientMoveItemEventArgs e)
        {
            Client       c = (Client)sender;
            MoveItemInfo m = e.Info;

            Client[] nearbyClients = GetNearByClients(c);
            BaseItem item          = null;

            if (m.FromBag > 0)
            {
                item = c.MyCharacter.Bags[m.FromBag - 1].Items.First(x => x.ItemID == m.ItemID);
            }
            else
            {
                switch (m.FromSlot)
                {
                case (byte)Slot.Weapon:     // Hand
                    item = c.MyCharacter.Hand;
                    break;

                case (byte)Slot.Hat:     // Hat
                    item = c.MyCharacter.Head;
                    break;

                case (byte)Slot.Armor:     // Armor
                    item = c.MyCharacter.Body;
                    break;

                case (byte)Slot.Shoes:     // Shoes
                    item = c.MyCharacter.Feet;
                    break;

                case (byte)Slot.CrystalMirror:     // crystalmirror
                    item = c.MyCharacter.Charm;
                    break;

                case (byte)Slot.Ring:
                    item = c.MyCharacter.Ring;
                    break;

                case (byte)Slot.Necklace:
                    item = c.MyCharacter.Necklace;
                    break;

                case (byte)Slot.Cape:
                    item = c.MyCharacter.Cape;
                    break;

                case (byte)Slot.Mirror:
                    item = c.MyCharacter.Mirror;
                    break;

                default:
                    break;
                }
            }

            byte error = 0;

            // ADD MOVE ITEM FUNC TO THAT BAG CLASS BLABLA



            if (item.Slot != 255)
            {
                itemDataManager.UpdateItem(item);
                byte[] SendMoveItem = PacketManager.SendMoveItem(m, error);
                c.Send(SendMoveItem);
            }
            else
            {
                byte[] SendMoveItem = PacketManager.SendMoveItem(m, error);
                c.Send(SendMoveItem);
            }
        }