private void ShowTooltip(BaseItemSlot itemSlot) { EquipableItem equipableItem = itemSlot.Item as EquipableItem; if (equipableItem != null) { itemTooltip.ShowTooltip(equipableItem); } }
private void SelectItem(int index, BaseItemSlot itemSlot) { if (itemSlot.Item != null) { _selectedItemSlot.Item = itemSlot.Item; _selectedItemName.text = itemSlot.Item.Name; _selectedItemDescription.text = itemSlot.Item.Description; } }
private void Unequip(BaseItemSlot itemslot) { EquipableItem equipableItem = itemslot.Item as EquipableItem; if (equipableItem != null) { Unequip(equipableItem); } }
/* private bool IsInventoryNull() * { * for (int i = 0; i < inventory.ItemSlots.Count; i++) * { * if (inventory.ItemSlots[i].Item != null) * { * return false; * } * } * return true; * } * * private bool IsEquippedPanelNull() * { * for (int i = 0; i < equippedItemsPanel.equippedItemSlots.Length; i++) * { * if (equippedItemsPanel.equippedItemSlots[i].Item != null) * { * return false; * } * } * return true; * }*/ /* private void InventoryLeftClick(BaseItemSlot itemSlot) * { * if (unit != null) * { * selectedItemSlot = itemSlot; * * if (itemSlot.Item != null) * { * if (itemSlot.Item is EquippableItem) * { * EquippableItem equippableItem = (EquippableItem)itemSlot.Item; * if (inventory.RemoveItem(itemSlot.Item) && equippedItemsPanel.AddItem(equippableItem)) * { * unit.unitItems.Add(equippableItem); * } * else * { * Debug.Log("No more space in unit"); * inventory.AddItem(equippableItem); * } * } * else * { * // add consumable to the unit inventory (dont use) * } * } * } * // AfterRightClickEvent(); * }*/ /* private void EquippedItemsPanelLeftClick(BaseItemSlot itemSlot) * { * if (unit != null) * { * selectedItemSlot = itemSlot; * if (itemSlot.Item != null) * { * EquippableItem equippableItem = (EquippableItem)itemSlot.Item; * if (inventory.CanAddItem(itemSlot.Item) && equippedItemsPanel.RemoveItem(equippableItem)) * { * // equippedItemsPanel.RemoveItem(equippableItem); * inventory.AddItem(equippableItem); * equippedItemsPanel.RemoveItem(equippableItem); * unit.unitItems.Remove(equippableItem); * } * else * { * equippedItemsPanel.AddItem(equippableItem); * } * } * } * } * * // item in inventory can be some other type, not nec equippable so need to check if its equippable only then will equip * private void InventoryRightClick(BaseItemSlot itemSlot) * { * selectedItemSlot = itemSlot; * // Debug.Log(itemSlot.Item); * // AfterInventoryRightClickEvent(); * if (itemSlot.Item != null) * { * if (itemSlot.Item is EquippableItem) * { * Equip((EquippableItem)itemSlot.Item); * } * else if (itemSlot.Item is UsableItem) * { * UsableItem usableItem = (UsableItem)itemSlot.Item; * usableItem.Use(this); * * if (usableItem.IsConsumable) * { * itemSlot.Amount--; * // inventory.RemoveItem(usableItem); * usableItem.Destroy(); * } * } * } * AfterRightClickEvent(); * }*/ /* private void EquippedItemPanelRightClick(BaseItemSlot itemSlot) * { * selectedItemSlot = itemSlot; * if (itemSlot.Item != null) * { * if (itemSlot.Item is EquippableItem) * { * Unequip((EquippableItem)itemSlot.Item); * } * } * AfterRightClickEvent(); * }*/ #endregion private void PersonalInventoryLeftClick(BaseItemSlot itemSlot) { selectedItemSlot = itemSlot; ItemSlotData previousItemSlotData = unit.unitInventory.Find(x => { if (x.Item is EquippableItem) { return(((EquippableItem)x.Item).equipped); } return(false); }); if (unit == null || itemSlot.Item == null) { return; } if (itemSlot.Item is EquippableItem) { EquippableItem currItem = (EquippableItem)itemSlot.Item; if (previousItemSlotData != null) { EquippableItem prevItem = (EquippableItem)previousItemSlotData.Item; Unequip(prevItem); previousItem = prevItem; foreach (ItemSlot _itemSlot in unitPersonalInventory.ItemSlots) { if (_itemSlot.Item == previousItem) { _itemSlot.itemName.color = Color.white; } } } if (!currItem.equipped && (previousItem == null || previousItem != currItem)) { Equip(currItem); itemSlot.itemName.color = itemSlot.equippedColor; } else { Unequip(currItem); itemSlot.itemName.color = Color.white; } unit.UpdateUI(); unit.AssignInventory(unitPersonalInventory.GetOccupiedItemSlots()); } else if (itemSlot.Item is UsableItem) { currUsableItemSlot = itemSlot; usableItemConfirmationPanel.SetActive(true); usableItemConfirmationPanel.GetComponent <RectTransform>().position = Input.mousePosition; } previousItem = null; }
private void EventHelper(BaseItemSlot itemSlot, Action <int, BaseItemSlot> action) { for (int i = 0; i < equipmentSlots.Length; i++) { if (equipmentSlots[i] == itemSlot) { action?.Invoke(i, itemSlot); } } }
private void StorageRightClick(BaseItemSlot itemSlot) { if (dragItemSlot == null) { if (itemSlot.ITEM != null && itemSlot.ITEM.IsUseable) { UseItem(false, itemSlot); } } }
private void InvRightClick(BaseItemSlot itemSlot) { if (dragItemSlot == null) { if (itemSlot.ITEM != null && itemSlot.ITEM.IsUseable) { UseItem(true, itemSlot); } } }
private void Unequip(BaseItemSlot itemSlot) { ItemPickUp copy_item_pickup = itemSlot.ITEM; // copy item if (inv_container.CanStore() && equip_container.RemoveItem(itemSlot.INDEX)) { inv_container.StoreItem(copy_item_pickup); copy_item_pickup.Unequip(); } }
private void TransferToInventory(BaseItemSlot itemSlot) { Item item = itemSlot.Item; if (item != null && Inventory.CanAddItem(item)) { openItemContainer.RemoveItem(item); Inventory.AddItem(item); } }
private void Drag(BaseItemSlot itemSlot) { draggableItem.transform.position = Input.mousePosition; if (!setItemDescription && itemSlot.ITEM != null) { SetItemDescription(itemSlot); setItemDescription = true; } }
private void EquipmentUnequip(BaseItemSlot itemSlot) { if (dragItemSlot == null) { if (itemSlot.ITEM is ItemPickUp && itemSlot.ITEM.itemDefinition.IsEquipped) { Unequip(itemSlot); } } }
private void TransferToItemContainer(BaseItemSlot itemSlot) { ItemSO item = itemSlot.Item; if (item != null && openItemContainer.CanAddItem(item)) { inventory.RemoveItem(item); openItemContainer.AddItem(item); } }
private void RightClickHandler(BaseItemSlot itemSlot) { if (dragItemSlot == null) { if (itemSlot.ITEM != null && itemSlot.ITEM.IsUseable) { UseItem(itemSlot); } } }
private void EventHelper(BaseItemSlot itemSlot, Action <int, BaseItemSlot> action) { for (int i = 0; i < itemSlots.Count; i++) { if (itemSlots[i] == itemSlot) { action?.Invoke(i, itemSlot); } } }
private void BeginDrag(BaseItemSlot itemSlot) { if (itemSlot.Item != null) { dragItemSlot = itemSlot; draggableItem.sprite = itemSlot.Item.Icon; draggableItem.transform.position = Input.mousePosition; draggableItem.gameObject.SetActive(true); } }
private void AddStacks(BaseItemSlot dropItemSlot) { int numAddablesStacks = dropItemSlot.Item.MaximumStacks - dropItemSlot.Amount; int stacksToAdd = Mathf.Min(numAddablesStacks, dragItemSlot.Amount); // Add stacks until drop slot is full // Remove the same number of stacks from drag item dropItemSlot.Amount += stacksToAdd; dragItemSlot.Amount -= stacksToAdd; }
private void BeginDrag(BaseItemSlot itemSlot) { if (itemSlot.Item != null) { draggedSlot = itemSlot; draggableItem.sprite = itemSlot.Item.Icon; draggableItem.transform.position = Input.mousePosition; draggableItem.enabled = true; } }
public void BeginDrag(BaseItemSlot itemSlot) { if (itemSlot.Item != null) { dragItemSlot = itemSlot; draggableItem.sprite = dragItemSlot.Item.iconAnim.sprites[0]; draggableItem.transform.position = Input.mousePosition; draggableItem.enabled = true; } }
public void EquipItem(EquipmentItemSlot equipmentSlot, BaseItemSlot itemSlot, ItemTemplate equipmentToAccept) { if (equipmentSlot.slotEquipmentType == equipmentToAccept.GetItemType()) { equipmentSlot.SlotItem = equipmentToAccept; equipmentSlot.SlotItemAmount++; itemSlot.SlotItem = null; itemSlot.SlotItemAmount = 0; } }
private void InventoryRightClick(BaseItemSlot itemSlot) { if (itemSlot.Item is EquippableItem) { Equip((EquippableItem)itemSlot.Item); } else if (itemSlot.Item is UsableItem) { EquipUsableItem((UsableItem)itemSlot.Item); } }
private void InventoryLeftClick(BaseItemSlot itemSlot) { if (dragItemSlot == null) { if (itemSlot.ITEM != null && itemSlot.ITEM.itemDefinition.IsEquipped) { Equip(itemSlot); } } }
private void BeginDrag(int index, BaseItemSlot itemSlot) { if (itemSlot.Item != null) { _draggedItemSlot = itemSlot; _draggedItemSlotIndex = index; _draggedItemImage.sprite = itemSlot.Item.Preview; _draggedItemImage.transform.position = _input.GetPointerPosition(); _draggedItemImage.gameObject.SetActive(true); } }
private void DropItemOutsideUI() { if (dragItemSlot == null) { return; } //questionDialog.Show(); BaseItemSlot baseItemSlot = dragItemSlot; //questionDialog.OnYesEvent += () => DestroyItemInSlot( baseItemSlot ); }
private void DropItemOutsideUI() { if (dragItemSlot == null) { return; } BaseItemSlot slot = dragItemSlot; DestroyItemInSlot(slot); }
void SplitStacks(BaseItemSlot dropItemSlot) { if (dropItemSlot == null) { return; } int stackamount = dragItemSlot.Amount; int stacksToRemove = dragItemSlot.Amount / 2; dragItemSlot.Amount = stackamount - stacksToRemove; dropItemSlot.Amount = stacksToRemove; }
public void OnUseItemButton() { usableItemConfirmationPanel.SetActive(false); playerInventoryPanel.SetActive(false); ((UsableItem)currUsableItemSlot.Item).Use(unit); currUsableItemSlot.Amount--; UpdateStatValues(); unit.UpdateUI(); unit.AssignInventory(unitPersonalInventory.GetOccupiedItemSlots()); currUsableItemSlot = null; OnUsedUsableItem?.Invoke(); }
private void DropItemOutsideUI() { if (dragItemSlot == null) { return; } reallyDropItemDialog.Show(); BaseItemSlot slot = dragItemSlot; reallyDropItemDialog.OnYesEvent += () => DestroyItemInSlot(slot); }
private void Drop(BaseItemSlot tranferItemSlot) { if (dragItemSlot == null) { return; } if (tranferItemSlot.CanReceiveItem(dragItemSlot.ITEM) && dragItemSlot.CanReceiveItem(tranferItemSlot.ITEM)) { SwapItems(tranferItemSlot); } }
private void Drop(int index, BaseItemSlot dropItemSlot) { if (_draggedItemSlot == null) { return; } if (dropItemSlot.CanAddStack(_draggedItemSlot.Item) || (dropItemSlot.CanReceiveItem(_draggedItemSlot.Item) && _draggedItemSlot.CanReceiveItem(dropItemSlot.Item))) { InvokeServerRpc(ChangeItemSlots, _draggedItemSlotIndex, _draggedItemSlot.GetType().ToString(), index, dropItemSlot.GetType().ToString()); } }
public void DropItemOutsideUI() { if (dragItemSlot == null) { return; } player.character.questionDialogue.Show(); BaseItemSlot baseItemSlot = dragItemSlot; player.character.questionDialogue.OnYesEvent += () => DestroyItemInSlot(baseItemSlot); }