Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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;
        }
    }