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; } }