public override string GetTowerInfo(bool isUpgradeInfo) { string procChanceIncrease = string.Empty; string debuffDurationIncrease = string.Empty; string damagePerSecondIncrease = string.Empty; string rangeIncrease = string.Empty; string damageIncrease = string.Empty; if (isUpgradeInfo) { RocketTowerUpgrade upgrade = upgrades[0]; procChanceIncrease = " + " + upgrade.ProcChanceIncrease; debuffDurationIncrease = " + " + upgrade.DebuffDurationIncrease; damagePerSecondIncrease = " + " + upgrade.DamagePerSecondIncrease; rangeIncrease = " + " + upgrade.RangeIncrease; damageIncrease = " + " + upgrade.DamageIncrease; } string debuffInfo = string.Format("Change <color=#ef5350>{0}</color>% DOT enemy by <color=#ef5350>{1}</color> sec with DPS <color=#ef5350>{2}</color>", rocketDebuff.ProcChance + " <color=#aed581>" + procChanceIncrease + "</color> ", rocketDebuff.Duration + " <color=#aed581>" + debuffDurationIncrease + "</color>", rocketDebuff.DamagePerSecond + " <color=#aed581>" + damagePerSecondIncrease + "</color>"); string info = string.Format("<color=#ef5350>{0}</color> level {1}\nrange <color=#ef5350>{2}</color>\ndamage <color=#ef5350>{3}</color>\ndebuff\n{4}", GetType(), towerStats.Level, towerStats.Range + " <color=#aed581>" + rangeIncrease + "</color>", towerStats.Damage + " <color=#aed581>" + damageIncrease + "</color>", debuffInfo); return(info); }
public override void Upgrade() { if (!IsMaxLevel) { RocketTowerUpgrade upgrade = upgrades[UpgradeIndex]; towerStats.Level = upgrade.Level; towerStats.Price += upgrade.UpgradePrice; towerStats.Damage += upgrade.DamageIncrease; towerStats.Range += upgrade.RangeIncrease; rocketDebuff.Duration += upgrade.DebuffDurationIncrease; rocketDebuff.ProcChance += upgrade.ProcChanceIncrease; rocketDebuff.DamagePerSecond += upgrade.DamagePerSecondIncrease; GameObject.Find("GameManager").GetComponent <GameManager>().Money -= upgrade.UpgradePrice; UpgradeIndex++; } if (UpgradeIndex == upgrades.Length) { IsMaxLevel = true; } }