private void HandleRecvMoveItem(Packet parsed) { MoveItemInfo mii = PacketManager.RecvMoveItem(parsed); if (ClientMoveItemInfo != null) { ClientMoveItemInfo(this, new ClientMoveItemEventArgs(mii)); } }
public ClientMoveItemEventArgs(MoveItemInfo mii) { this.moveinfo = mii; }
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); } }