Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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;
            }
            }
        }