Esempio n. 1
0
    private void Upgrade(Upgrade upgrade,
                         Constants.Items itemToUpgrade)
    {
        if (IsUpgradable(upgrade))
        {
            SubstractOres();
            ChangePlayerValues();
            SetCosts(itemToUpgrade);
            updateOresInfo.SetContentInfo();
        }
        else
        {
            Debug.Log("unable to upgrade");
        }

        void ChangePlayerValues()
        {
            switch (itemToUpgrade)
            {
            case Constants.Items.PickaxeHead:
                SinglePlayerValues.damageValue =
                    pickaxeUpgrades[pickaxeHeadIndex].value;
                break;

            case Constants.Items.Stick:
                SinglePlayerValues.miningSpeedValue =
                    stickUpgrades[stickIndex].value;
                break;

            case Constants.Items.Hat:
                SinglePlayerValues.lightRadiusValue =
                    hatUpgrades[hatIndex].value;
                break;

            default:
                Debug.LogError("Incorrect item to upgrade");
                break;
            }
        }

        void SubstractOres()
        {
            for (int i = 0; i < Constants.oresAmount; i++)
            {
                if (upgrade.cost[i] != 0)
                {
                    SingleExtractedOresCounter.ores[i] -= upgrade.cost[i];
                }
            }
        }
    }
Esempio n. 2
0
    public void ChangeTextValues(int index)
    {
        if (sellMenuContent.activeSelf)
        {
            textValues[index].text = _oresToSell[index].ToString();
        }

        if (oresMenuContent.activeSelf)
        {
            _updateOresInfo.SetContentInfo();
        }

        // if (listOresMenuContent.activeSelf)
        // {
        //     _updateListOresInfo.SetContentInfo();
        // }
    }