private void SwapItems(BaseItemSlot tranferItemSlot) { ItemPickUp dragItem = dragItemSlot.ITEM as ItemPickUp; int dragIndex = dragItemSlot.INDEX; ItemPickUp tranferItem = tranferItemSlot.ITEM as ItemPickUp; int tranferIndex = tranferItemSlot.INDEX; //swap between Equipment and Inventory if (dragItemSlot is BaseEquipmentSlot || tranferItemSlot is BaseEquipmentSlot) { //swap from inventory to equipment if (tranferItemSlot is BaseEquipmentSlot) { if (dragItem != null) { dragItem.Equip(); } if (tranferItem != null) { tranferItem.Unequip(); } Equip(dragItemSlot); } //swap from equipment to inventory if (dragItemSlot is BaseEquipmentSlot && tranferItemSlot.ITEM != null) //inventory is not null { if (dragItem != null) { dragItem.Unequip(); } if (tranferItem != null) { tranferItem.Equip(); } Equip(tranferItemSlot); } else if (dragItemSlot is BaseEquipmentSlot && tranferItemSlot.ITEM == null) //inventory is null { if (dragItem != null) { dragItem.Unequip(); } inv_container.StoreItem(dragItem, tranferIndex); equip_container.RemoveItem(dragIndex); } } else //swap in inventory { inv_container.Swap(dragIndex, tranferIndex); } }
private void Equip(BaseItemSlot itemSlot) { ItemPickUp copy_item_pickup = itemSlot.ITEM; // copy item int copy_item_index = itemSlot.INDEX; // copy index //remove item from inventory if (inv_container.RemoveItem(itemSlot.INDEX)) { ItemPickUp previousItem; if (equip_container.StoreItem(copy_item_pickup, out previousItem, equip_container_display.EquipItemSlots)) { copy_item_pickup.Equip(); if (previousItem != null) { inv_container.StoreItem(previousItem, copy_item_index); previousItem.Unequip(); } } } }