コード例 #1
0
    public void UpgradeBaseStats(IncrementalUpgrade incrementalUpgrade, int amountBuyed)
    {
        switch (incrementalUpgrade.upgradeType)
        {
        case UpgradeType.StudioProductivity:
            break;

        case UpgradeType.ProgrammingTap:
            baseProgrammingTap += (incrementalUpgrade.baseValue * Mathf.Pow(1f + incrementalUpgrade.increasedByEachTime, amountBuyed));
            break;

        case UpgradeType.ArtisticTap:
            baseArtisticTap += (incrementalUpgrade.baseValue * Mathf.Pow(1f + incrementalUpgrade.increasedByEachTime, amountBuyed));
            break;

        case UpgradeType.SoundTap:
            baseSoundTap += (incrementalUpgrade.baseValue * Mathf.Pow(1f + incrementalUpgrade.increasedByEachTime, amountBuyed));
            break;

        case UpgradeType.GameDesignTap:
            baseGameDesignTap += (incrementalUpgrade.baseValue * Mathf.Pow(1f + incrementalUpgrade.increasedByEachTime, amountBuyed));
            break;

        case UpgradeType.AllTaps:
            break;

        case UpgradeType.ProgrammingDPS:
            baseProgrammingDPS += (incrementalUpgrade.baseValue *
                                   Mathf.Pow(1f + incrementalUpgrade.increasedByEachTime, amountBuyed));
            break;

        case UpgradeType.ArtisticDPS:
            baseArtisticDPS += (incrementalUpgrade.baseValue *
                                Mathf.Pow(1f + incrementalUpgrade.increasedByEachTime, amountBuyed));
            break;

        case UpgradeType.SoundDPS:
            baseSoundDPS += (incrementalUpgrade.baseValue *
                             Mathf.Pow(1f + incrementalUpgrade.increasedByEachTime, amountBuyed));
            break;

        case UpgradeType.GameDesignDPS:
            baseGameDesignDPS += (incrementalUpgrade.baseValue *
                                  Mathf.Pow(1f + incrementalUpgrade.increasedByEachTime, amountBuyed));
            break;

        default:
            throw new ArgumentOutOfRangeException();
        }

        Invoke_StatsChanged();
    }
コード例 #2
0
    public override void LoadObjectData(GridObjectData gridObjectData)
    {
        data = (CrewGridObjectData)gridObjectData;
        upgradeImage.sprite     = data.UpgradeImage;
        upgradeTitle.text       = data.UpgradeTitle;
        upgradeDescription.text = data.UpgradeDescription;
        price = data.Price;
        currentPrice.currencyType = price.currencyType;
        SetPrice();
        statsToShow = data.StatsToShow;
        if (statsToShow)
        {
            statsText.gameObject.SetActive(true);
            statsText.text = StatsManager.instance.RequestStatsString(data.statsQuery);
        }
        else
        {
            statsText.gameObject.SetActive(false);
        }

        incrementalUpgrade = data.incrementalUpgrade;
    }