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(); }
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; }