public static MoveItemRequest Read(PacketHeader header, BinaryReader br) { MoveItemRequest mir = new MoveItemRequest(); mir.ItemID = br.ReadUInt32(); mir.OtherID = br.ReadUInt32(); mir.Slot = br.ReadByte(); return(mir); }
void MoveItem_Handler(Task t) { MoveItemRequest mir = (MoveItemRequest)t.Args; bool success = true; if (mir.OtherID != 0) { // Swap positions with the other item Item item = t.Client.Character.FindItem(mir.ItemID); Item other = t.Client.Character.FindItem(mir.OtherID); if (item == null || other == null) { success = false; } else { byte tempSlot = other.Slot; other.Slot = item.Slot; item.Slot = tempSlot; AddDBQuery(item.UpdateDBString(), null, false); AddDBQuery(other.UpdateDBString(), null, false); } } else { // Just move this object to the new slot Item item = t.Client.Character.FindItem(mir.ItemID); if (item == null) { success = false; } else { item.Slot = mir.Slot; AddDBQuery(item.UpdateDBString(), null, false); } } t.Client.SendPacket(new MoveItemResponse(mir.ItemID, mir.OtherID, mir.Slot, success)); }
private void Client_OnMoveItem(object sender, MoveItemRequest e) { TaskProcessor.AddTask(new Task(Task.TaskType.MoveItem, (Connection)sender, e)); }
public static MoveItemRequest Read(PacketHeader header, BinaryReader br) { MoveItemRequest mir = new MoveItemRequest(); mir.ItemID = br.ReadUInt32(); mir.OtherID = br.ReadUInt32(); mir.Slot = br.ReadByte(); return mir; }
void MoveItem_Handler(PacketHeader header, BinaryReader br) { OnMoveItem(this, MoveItemRequest.Read(header, br)); }