public void InitConsumable() { if (!RequiresInitialisation) { return; } string selectedItemId = ""; List <AConsumableBase> consumables = new List <AConsumableBase> (); switch (AffectsDemand) { case AConsumableBase.EDemand.Hunger: { selectedItemId = ItemIDStorage.GetHungerDecreaserID(HungerDecreaserType); consumables = ItemsData.GetConsumablesOfType <HungerDecreaser> (); break; } case AConsumableBase.EDemand.Stress: { selectedItemId = ItemIDStorage.GetStressDecreaserID(StressDecreaserType); consumables = ItemsData.GetConsumablesOfType <StressDecreaser> (); break; } } if (consumables.Count > 0) { _selectedConsumable = consumables.First(c => c.ItemID == selectedItemId); ApplyImage(); } }
public void DisplayReceiptForItem(string itemId) { var image = Resources.Load <Sprite> (string.Format(kItemDisplaySpritesPath + itemId)); _currentItem = ItemsData.GetItemById(itemId); _displayImage.gameObject.SetActive(true); _displayImage.sprite = image; _descriptionText.gameObject.SetActive(true); _descriptionText.text = ItemIDStorage.GetDescriptionForItem(itemId); ItemName.gameObject.SetActive(true); ItemName.text = _currentItem.Name; DeleteButton.gameObject.SetActive(true); DehighlightAllItems(); var requiredItemsCount = 0; switch (_currentItem.EItemType) { case EItemType.Receipt: { var receipt = ItemsData.GetReceiptById(itemId); _actionButtonImage.sprite = ButtonImages[0]; ActionButton.onClick.AddListener(delegate { CraftItem(); }); HighlightItems(receipt); for (int i = 0; i < receipt.RequiredItems.Length; i++) { if (Inventrory.GetInventoryItems().Any(item => item.ItemID == receipt.RequiredItems [i])) { requiredItemsCount++; } } ActionButton.gameObject.SetActive(true); ActionButton.interactable = receipt.RequiredItems.Length <= requiredItemsCount; break; } case EItemType.Trap: { _actionButtonImage.sprite = ButtonImages[1]; ActionButton.gameObject.SetActive(true); ActionButton.onClick.AddListener(delegate { SetATrap(); }); break; } default: { ActionButton.gameObject.SetActive(false); break; } } }