public void UnEquip(EquippableItem item)
 {
     if (!inventory.IsFull() && equipmentPanel.RemoveItem(item))
     {
         item.UnEquip(character);
         character.StatPanel.UpdateStatValues();
         inventory.AddItem(item);
     }
 }
        void Drop(ItemSlot dropItemSlot)
        {
            if (draggedSlot == null)
            {
                return;
            }

            if (dropItemSlot.CanReceiveItem(draggedSlot.Item) && draggedSlot.CanReceiveItem(dropItemSlot.Item))
            {
                EquippableItem dragItem = draggedSlot.Item as EquippableItem;
                EquippableItem dropItem = dropItemSlot.Item as EquippableItem;

                if (draggedSlot is EquipmentSlot)
                {
                    if (dragItem != null)
                    {
                        dragItem.UnEquip(character);
                    }
                    if (dropItem != null)
                    {
                        dropItem.Equip(character);
                    }
                }

                if (dropItemSlot is EquipmentSlot)
                {
                    if (dragItem != null)
                    {
                        OnItemEquipped(dragItem);
                        dragItem.Equip(character);
                    }
                    if (dropItem != null)
                    {
                        dropItem.UnEquip(character);
                    }
                }
                character.StatPanel.UpdateStatValues();

                Item draggedItem = draggedSlot.Item;
                draggedSlot.Item  = dropItemSlot.Item;
                dropItemSlot.Item = draggedItem;
            }
        }