public void performHoldAction() { FPEInventoryItemData tempData = itemData[slotActionItemIndex]; FPEInventoryManagerScript.Instance.holdItemFromInventory(tempData.GameObjectInstanceID); refreshItemSlotsAndDetailsView(); hideActionsForItem(); }
public void performDropAction() { FPEInventoryItemData tempData = itemData[slotActionItemIndex]; FPEInventoryManagerScript.Instance.dropItemFromInventory(tempData.GameObjectInstanceID); // More expensive than simply refreshing the one item's quantity, but it will ensure that the data is fresh refreshItemSlotsAndDetailsView(); hideActionsForItem(); }
public void setItemDetails(FPEInventoryItemData data) { myTitle.text = data.ItemName; myTitle.enabled = true; myImage.overrideSprite = data.ItemImage; myImage.enabled = true; myDescription.text = data.ItemDescription; myDescription.enabled = true; }
public void performConsumeAction() { FPEInventoryItemData tempData = itemData[slotActionItemIndex]; int quantityRemaining = FPEInventoryManagerScript.Instance.consumeItemFromInventory(tempData.GameObjectInstanceID); if (quantityRemaining == 0) { inventorySlots[slotActionItemIndex].clearItemData(); itemInfoPanel.clearItemDetails(); } else { refreshItemSlotsAndDetailsView(); } hideActionsForItem(); }
public void performDropAction() { FPEInventoryItemData tempData = itemData[slotActionItemIndex]; int quantityRemaining = FPEInventoryManagerScript.Instance.dropItemFromInventory(tempData.GameObjectInstanceID); if (quantityRemaining == 0) { inventorySlots[slotActionItemIndex].clearItemData(); itemInfoPanel.clearItemDetails(); } else { // More expensive than simply refreshing the one item's quantity, but it will ensure that the data is fresh refreshItemSlotsAndDetailsView(); } hideActionsForItem(); }
/// <summary> /// Sets data for the inventory slot UI /// </summary> /// <param name="index">A "blind" index into the item data set that is used for message passing. Never manipulated by the slot itself.</param> /// <param name="data">The actual item data, to be read by slot so display parameters can be changed</param> public void setItemData(int index, FPEInventoryItemData data) { currentInventoryDataIndex = index; myImage.overrideSprite = data.ItemImage; myImage.enabled = true; myName.text = data.ItemName; myName.enabled = true; if (data.Stackable) { myCount.text = stackablePrefixString + data.Quantity; myCount.enabled = true; } else { myCount.enabled = false; } }
/// <summary> /// Returns an array of FPEInventoryItemData representing the items currently in /// inventory. Note that stackable items are only represented by ONE entry, but /// their quantity represents how many are in the stack. /// </summary> /// <returns>Array of FPEInventoryItemData representing the items currently in /// inventory. Can be used to visually represent inventory on hand.</returns> public FPEInventoryItemData[] getInventoryData() { FPEInventoryItemData[] data = new FPEInventoryItemData[inventoryItems.Count]; sortInventory(); for (int i = 0; i < inventoryItems.Count; i++) { data[i] = new FPEInventoryItemData ( inventoryItems[i].ItemName, inventoryItems[i].ItemImage, inventoryItems[i].ItemDescription, inventoryItems[i].Stackable, inventoryQuantities[(int)inventoryItems[i].InventoryItemType], inventoryItems[i].CanBeHeld, inventoryItems[i].CanBeDropped, inventoryItems[i].CanBeConsumed, inventoryItems[i].gameObject.GetInstanceID() ); } return(data); }