//Applies purchased upgrade public void ValueAdd(UpgradeManager.UpgradeTypes type, float value, float valueTier) { if (type == UpgradeManager.UpgradeTypes.MPC) { if (mpcTier == valueTier) { mpc += value; } else if (mpcTier < valueTier) { mpc += value * Mathf.Pow(1000, valueTier - mpcTier); } else { mpc += value / Mathf.Pow(1000, mpcTier - valueTier); } } if (type == UpgradeManager.UpgradeTypes.MPS) { if (mpsTier == valueTier) { mps += value; } else if (mpsTier < valueTier) { mps += value * Mathf.Pow(1000, valueTier - mpsTier); } else { mps += value / Mathf.Pow(1000, mpsTier - valueTier); } } }
//Removes money when an upgrade is purchased public void OnUpgrade(float costTier, float cost, UpgradeManager.UpgradeTypes type, float valueTier, float value) { if (moneyTier >= costTier) { if (moneyTier == costTier) { if (money >= cost) { money -= cost; ValueAdd(type, value, valueTier); } } else { money -= cost / Mathf.Pow(1000, moneyTier - costTier); ValueAdd(type, value, valueTier); } } }