예제 #1
0
    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;
        }
    }
예제 #2
0
 public void ShowItemInfo(Item item)
 {
     itemInfoBox.UpdateWithItem(item);
     itemInfoBox.gameObject.SetActive(true);
 }