Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
 private void Client_OnMoveItem(object sender, MoveItemRequest e)
 {
     TaskProcessor.AddTask(new Task(Task.TaskType.MoveItem, (Connection)sender, e));
 }
Beispiel #4
0
 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;
 }
Beispiel #5
0
 void MoveItem_Handler(PacketHeader header, BinaryReader br)
 {
     OnMoveItem(this, MoveItemRequest.Read(header, br));
 }
Beispiel #6
0
 private void Client_OnMoveItem(object sender, MoveItemRequest e)
 {
     TaskProcessor.AddTask(new Task(Task.TaskType.MoveItem, (Connection)sender, e));
 }