void UpdateCraftingInfo(Item item) { selectedItem = item; itemInfoBox.UpdateWithItem(item); refineCostText.text = playerCrafting.GetRefineCost(item).ToString(); addPropertyText.text = playerCrafting.GetAddRandomPropertyCost(item).ToString(); removePropertyText.text = playerCrafting.GetRemovePropertyCost(item).ToString(); if (playerCrafting.GetRefineCost(selectedItem) > playerCrafting.materials) { refineButton.interactable = false; } else { refineButton.interactable = true; } if (playerCrafting.GetAddRandomPropertyCost(selectedItem) > playerCrafting.materials || item.GetItemProperties().Count >= item.GetMaxProperties()) { addRandomPropertyButton.interactable = false; } else { addRandomPropertyButton.interactable = true; } int numPropertiesMaxed = 0; foreach (ItemProperty ip in item.GetItemProperties()) { if (ip.IsMax()) { numPropertiesMaxed++; } } bool isMaxed = (numPropertiesMaxed == item.GetItemProperties().Count); if (playerCrafting.GetRemovePropertyCost(selectedItem) > playerCrafting.materials || isMaxed) { removePropertyButton.interactable = false; } else { removePropertyButton.interactable = true; } }
public void ShowItemInfo(Item item) { itemInfoBox.UpdateWithItem(item); itemInfoBox.gameObject.SetActive(true); }