Esempio n. 1
0
        public void performHoldAction()
        {
            FPEInventoryItemData tempData = itemData[slotActionItemIndex];

            FPEInventoryManagerScript.Instance.holdItemFromInventory(tempData.GameObjectInstanceID);

            refreshItemSlotsAndDetailsView();
            hideActionsForItem();
        }
Esempio n. 2
0
        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;
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        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;
            }
        }
Esempio n. 7
0
        /// <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);
        }