public bool reduceItemCount(string key) { if (!inventoryDict.ContainsKey(key)) { Debug.LogWarning("item key to remove from inventory doesn't exist in inventory"); return(false); } ActiveInventoryItem activeItem = inventoryDict[key]; if (activeItem.itemCount <= 1) { removeScrollViewItem(activeItem); inventoryDict.Remove(key); } else { activeItem.itemCount -= 1; updateScrollViewItemCount(activeItem); inventoryDict[key] = activeItem; } return(true); }
/* * Public functions to add or remove item count from inventory (items are stacked) */ public void addItemCount(string key) { ActiveInventoryItem activeItem; if (inventoryDict.ContainsKey(key)) { activeItem = inventoryDict[key]; activeItem.itemCount += 1; inventoryDict[key] = activeItem; } else { activeItem = new ActiveInventoryItem(); activeItem.itemCount = 1; activeItem.itemObject = itemDict[key]; activeItem.itemInstance = addScrollViewItem(itemDict[key]); activeItem.itemInstance.GetComponent <Button>().onClick.AddListener(delegate { reduceItemCount(key); }); updateScrollViewItemCount(activeItem); inventoryDict.Add(key, activeItem); } updateScrollViewItemCount(activeItem); }
void removeScrollViewItem(ActiveInventoryItem activeItem) { Destroy(activeItem.itemInstance); }
void updateScrollViewItemCount(ActiveInventoryItem activeItem) { activeItem.itemInstance.GetComponentInChildren <Text>().text = activeItem.itemObject.GetComponent <InventoryItem>().itemName + "\t X " + activeItem.itemCount + "\n" + activeItem.itemObject.GetComponent <InventoryItem>().itemDescription; }