summaryrefslogtreecommitdiff
path: root/Assembly_CSharp/Tower/TowerManager.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2023-11-27 00:08:06 +0800
committerchai <215380520@qq.com>2023-11-27 00:08:06 +0800
commitd4af52c91a717d0ee324f81ad5a673d4a6ba9207 (patch)
treebdb610929b8cd3064632f12479cd47c16b752045 /Assembly_CSharp/Tower/TowerManager.cs
parentb45e22c164fa364263b00ce82842999f8e5976b2 (diff)
*move
Diffstat (limited to 'Assembly_CSharp/Tower/TowerManager.cs')
-rw-r--r--Assembly_CSharp/Tower/TowerManager.cs1386
1 files changed, 0 insertions, 1386 deletions
diff --git a/Assembly_CSharp/Tower/TowerManager.cs b/Assembly_CSharp/Tower/TowerManager.cs
deleted file mode 100644
index abdca52..0000000
--- a/Assembly_CSharp/Tower/TowerManager.cs
+++ /dev/null
@@ -1,1386 +0,0 @@
-using System.Collections.Generic;
-using UnityEngine;
-
-public class TowerManager : MonoBehaviour
-{
- public static TowerManager instance;
-
- [SerializeField]
- private TowerFlyweight global;
-
- [SerializeField]
- private TowerFlyweight crossbow;
-
- [SerializeField]
- private TowerFlyweight morter;
-
- [SerializeField]
- private TowerFlyweight teslaCoil;
-
- [SerializeField]
- private TowerFlyweight flameThrower;
-
- [SerializeField]
- private TowerFlyweight poisonSprayer;
-
- [SerializeField]
- private TowerFlyweight frostKeep;
-
- [SerializeField]
- private TowerFlyweight radar;
-
- [SerializeField]
- private TowerFlyweight obelisk;
-
- [SerializeField]
- private TowerFlyweight particleCannon;
-
- [SerializeField]
- private TowerFlyweight shredder;
-
- [SerializeField]
- private TowerFlyweight encampment;
-
- [SerializeField]
- private TowerFlyweight lookout;
-
- [SerializeField]
- private TowerFlyweight siphon;
-
- public HashSet<TowerType> towersUsed = new HashSet<TowerType>();
-
- private bool usedAllTowers;
-
- public float obeliskTimeOnTargetMultiplier;
-
- private void Awake()
- {
- instance = this;
- }
-
- public void AddNewTower(Tower t, TowerType type)
- {
- if (type != TowerType.Siphon)
- {
- towersUsed.Add(type);
- }
- if (!usedAllTowers)
- {
- usedAllTowers = AchievementManager.instance.CheckAllTowers();
- }
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddNewTower(t);
- break;
- case TowerType.Morter:
- morter.AddNewTower(t);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddNewTower(t);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddNewTower(t);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddNewTower(t);
- break;
- case TowerType.Frost:
- frostKeep.AddNewTower(t);
- break;
- case TowerType.Radar:
- radar.AddNewTower(t);
- break;
- case TowerType.Obelisk:
- obelisk.AddNewTower(t);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddNewTower(t);
- break;
- case TowerType.Shredder:
- shredder.AddNewTower(t);
- break;
- case TowerType.Encampment:
- encampment.AddNewTower(t);
- break;
- case TowerType.Lookout:
- lookout.AddNewTower(t);
- break;
- default:
- Debug.LogError("Failed to add tower to flyweight");
- break;
- }
- }
-
- public void RemoveTower(Tower t, TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.RemoveTower(t);
- break;
- case TowerType.Morter:
- morter.RemoveTower(t);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.RemoveTower(t);
- break;
- case TowerType.FlameThrower:
- flameThrower.RemoveTower(t);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.RemoveTower(t);
- break;
- case TowerType.Frost:
- frostKeep.RemoveTower(t);
- break;
- case TowerType.Obelisk:
- obelisk.RemoveTower(t);
- break;
- case TowerType.Radar:
- radar.RemoveTower(t);
- break;
- case TowerType.ParticleCannon:
- particleCannon.RemoveTower(t);
- break;
- case TowerType.Shredder:
- shredder.RemoveTower(t);
- break;
- case TowerType.Encampment:
- encampment.RemoveTower(t);
- break;
- case TowerType.Lookout:
- lookout.RemoveTower(t);
- break;
- default:
- Debug.LogError("Failed to add tower to flyweight");
- break;
- }
- }
-
- public void UpdateAllTowers()
- {
- crossbow.UpdateTowerStats();
- morter.UpdateTowerStats();
- teslaCoil.UpdateTowerStats();
- flameThrower.UpdateTowerStats();
- poisonSprayer.UpdateTowerStats();
- frostKeep.UpdateTowerStats();
- radar.UpdateTowerStats();
- obelisk.UpdateTowerStats();
- particleCannon.UpdateTowerStats();
- shredder.UpdateTowerStats();
- encampment.UpdateTowerStats();
- lookout.UpdateTowerStats();
- }
-
- public int GetSellPrice(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return crossbow.sellPrice;
- case TowerType.Morter:
- return morter.sellPrice;
- case TowerType.TeslaCoil:
- return teslaCoil.sellPrice;
- case TowerType.FlameThrower:
- return flameThrower.sellPrice;
- case TowerType.PoisonSprayer:
- return poisonSprayer.sellPrice;
- case TowerType.Frost:
- return frostKeep.sellPrice;
- case TowerType.Obelisk:
- return obelisk.sellPrice;
- case TowerType.Radar:
- return radar.sellPrice;
- case TowerType.ParticleCannon:
- return particleCannon.sellPrice;
- case TowerType.Shredder:
- return shredder.sellPrice;
- case TowerType.Encampment:
- return encampment.sellPrice;
- case TowerType.Lookout:
- return lookout.sellPrice;
- default:
- Debug.LogError("Failed to add tower to flyweight");
- return -1;
- }
- }
-
- public float GetManaConsumptionBonus(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.manaConsumptionAddition + crossbow.manaConsumptionAddition;
- case TowerType.Morter:
- return global.manaConsumptionAddition + morter.manaConsumptionAddition;
- case TowerType.TeslaCoil:
- return global.manaConsumptionAddition + teslaCoil.manaConsumptionAddition;
- case TowerType.FlameThrower:
- return global.manaConsumptionAddition + flameThrower.manaConsumptionAddition;
- case TowerType.PoisonSprayer:
- return global.manaConsumptionAddition + poisonSprayer.manaConsumptionAddition;
- case TowerType.Frost:
- return global.manaConsumptionAddition + frostKeep.manaConsumptionAddition;
- case TowerType.Radar:
- return global.manaConsumptionAddition + radar.manaConsumptionAddition;
- case TowerType.Obelisk:
- return global.manaConsumptionAddition + obelisk.manaConsumptionAddition;
- case TowerType.ParticleCannon:
- return global.manaConsumptionAddition + particleCannon.manaConsumptionAddition;
- case TowerType.Shredder:
- return global.manaConsumptionAddition + shredder.manaConsumptionAddition;
- case TowerType.Encampment:
- return global.manaConsumptionAddition + encampment.manaConsumptionAddition;
- case TowerType.Lookout:
- return global.manaConsumptionAddition + lookout.manaConsumptionAddition;
- default:
- Debug.Log("Failed to get global bonus");
- return 0f;
- }
- }
-
- public float GetCritChance(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.critChance + crossbow.critChance;
- case TowerType.Morter:
- return global.critChance + morter.critChance;
- case TowerType.TeslaCoil:
- return global.critChance + teslaCoil.critChance;
- case TowerType.FlameThrower:
- return global.critChance + flameThrower.critChance;
- case TowerType.PoisonSprayer:
- return global.critChance + poisonSprayer.critChance;
- case TowerType.Frost:
- return global.critChance + frostKeep.critChance;
- case TowerType.Radar:
- return global.critChance + radar.critChance;
- case TowerType.Obelisk:
- return global.critChance + obelisk.critChance;
- case TowerType.ParticleCannon:
- return global.critChance + particleCannon.critChance;
- case TowerType.Shredder:
- return global.critChance + shredder.critChance;
- case TowerType.Encampment:
- return global.critChance + encampment.critChance;
- case TowerType.Lookout:
- return global.critChance + lookout.critChance;
- default:
- Debug.Log("Failed to get global bonus");
- return 0f;
- }
- }
-
- public float GetStunChance(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.stunChance + crossbow.stunChance;
- case TowerType.Morter:
- return global.stunChance + morter.stunChance;
- case TowerType.TeslaCoil:
- return global.stunChance + teslaCoil.stunChance;
- case TowerType.FlameThrower:
- return global.stunChance + flameThrower.stunChance;
- case TowerType.PoisonSprayer:
- return global.stunChance + poisonSprayer.stunChance;
- case TowerType.Frost:
- return global.stunChance + frostKeep.stunChance;
- case TowerType.Radar:
- return global.stunChance + radar.stunChance;
- case TowerType.Obelisk:
- return global.stunChance + obelisk.stunChance;
- case TowerType.ParticleCannon:
- return global.stunChance + particleCannon.stunChance;
- case TowerType.Shredder:
- return global.stunChance + shredder.stunChance;
- case TowerType.Encampment:
- return global.stunChance + encampment.stunChance;
- case TowerType.Lookout:
- return global.stunChance + lookout.stunChance;
- default:
- Debug.Log("Failed to get global bonus");
- return 0f;
- }
- }
-
- public float GetCritChanceLevelMultiplier(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.critChanceLevelMultiplier + crossbow.critChanceLevelMultiplier;
- case TowerType.Morter:
- return global.critChanceLevelMultiplier + morter.critChanceLevelMultiplier;
- case TowerType.TeslaCoil:
- return global.critChanceLevelMultiplier + teslaCoil.critChanceLevelMultiplier;
- case TowerType.FlameThrower:
- return global.critChanceLevelMultiplier + flameThrower.critChanceLevelMultiplier;
- case TowerType.PoisonSprayer:
- return global.critChanceLevelMultiplier + poisonSprayer.critChanceLevelMultiplier;
- case TowerType.Frost:
- return global.critChanceLevelMultiplier + frostKeep.critChanceLevelMultiplier;
- case TowerType.Radar:
- return global.critChanceLevelMultiplier + radar.critChanceLevelMultiplier;
- case TowerType.Obelisk:
- return global.critChanceLevelMultiplier + obelisk.critChanceLevelMultiplier;
- case TowerType.ParticleCannon:
- return global.critChanceLevelMultiplier + particleCannon.critChanceLevelMultiplier;
- case TowerType.Shredder:
- return global.critChanceLevelMultiplier + shredder.critChanceLevelMultiplier;
- case TowerType.Encampment:
- return global.critChanceLevelMultiplier + encampment.critChanceLevelMultiplier;
- case TowerType.Lookout:
- return global.critChanceLevelMultiplier + lookout.critChanceLevelMultiplier;
- default:
- Debug.Log("Failed to get global bonus");
- return 0f;
- }
- }
-
- public float GetBonusRange(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.bonusRange + crossbow.bonusRange;
- case TowerType.Morter:
- return global.bonusRange + morter.bonusRange;
- case TowerType.TeslaCoil:
- return global.bonusRange + teslaCoil.bonusRange;
- case TowerType.FlameThrower:
- return global.bonusRange + flameThrower.bonusRange;
- case TowerType.PoisonSprayer:
- return global.bonusRange + poisonSprayer.bonusRange;
- case TowerType.Frost:
- return global.bonusRange + frostKeep.bonusRange;
- case TowerType.Radar:
- return global.bonusRange + radar.bonusRange;
- case TowerType.Obelisk:
- return global.bonusRange + obelisk.bonusRange;
- case TowerType.ParticleCannon:
- return global.bonusRange + particleCannon.bonusRange;
- case TowerType.Shredder:
- return global.bonusRange + shredder.bonusRange;
- case TowerType.Encampment:
- return global.bonusRange + encampment.bonusRange;
- case TowerType.Lookout:
- return global.bonusRange + lookout.bonusRange;
- default:
- Debug.Log("Failed to get global bonus");
- return 0f;
- }
- }
-
- public int GetBonusBaseDamage(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.bonusBaseDamage + crossbow.bonusBaseDamage;
- case TowerType.Morter:
- return global.bonusBaseDamage + morter.bonusBaseDamage;
- case TowerType.TeslaCoil:
- return global.bonusBaseDamage + teslaCoil.bonusBaseDamage;
- case TowerType.FlameThrower:
- return global.bonusBaseDamage + flameThrower.bonusBaseDamage;
- case TowerType.PoisonSprayer:
- return global.bonusBaseDamage + poisonSprayer.bonusBaseDamage;
- case TowerType.Frost:
- return global.bonusBaseDamage + frostKeep.bonusBaseDamage;
- case TowerType.Radar:
- return global.bonusBaseDamage + radar.bonusBaseDamage;
- case TowerType.Obelisk:
- return global.bonusBaseDamage + obelisk.bonusBaseDamage;
- case TowerType.ParticleCannon:
- return global.bonusBaseDamage + particleCannon.bonusBaseDamage;
- case TowerType.Shredder:
- return global.bonusBaseDamage + shredder.bonusBaseDamage;
- case TowerType.Encampment:
- return global.bonusBaseDamage + encampment.bonusBaseDamage;
- case TowerType.Lookout:
- return global.bonusBaseDamage + lookout.bonusBaseDamage;
- default:
- Debug.Log("Failed to get global bonus");
- return 0;
- }
- }
-
- public int GetBonusHealthDamage(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.bonusHealthDamage + crossbow.bonusHealthDamage;
- case TowerType.Morter:
- return global.bonusHealthDamage + morter.bonusHealthDamage;
- case TowerType.TeslaCoil:
- return global.bonusHealthDamage + teslaCoil.bonusHealthDamage;
- case TowerType.FlameThrower:
- return global.bonusHealthDamage + flameThrower.bonusHealthDamage;
- case TowerType.PoisonSprayer:
- return global.bonusHealthDamage + poisonSprayer.bonusHealthDamage;
- case TowerType.Frost:
- return global.bonusHealthDamage + frostKeep.bonusHealthDamage;
- case TowerType.Radar:
- return global.bonusHealthDamage + radar.bonusHealthDamage;
- case TowerType.Obelisk:
- return global.bonusHealthDamage + obelisk.bonusHealthDamage;
- case TowerType.ParticleCannon:
- return global.bonusHealthDamage + particleCannon.bonusHealthDamage;
- case TowerType.Shredder:
- return global.bonusHealthDamage + shredder.bonusHealthDamage;
- case TowerType.Encampment:
- return global.bonusHealthDamage + encampment.bonusHealthDamage;
- case TowerType.Lookout:
- return global.bonusHealthDamage + lookout.bonusHealthDamage;
- default:
- Debug.Log("Failed to get global bonus");
- return 0;
- }
- }
-
- public int GetBonusArmorDamage(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.bonusArmorDamage + crossbow.bonusArmorDamage;
- case TowerType.Morter:
- return global.bonusArmorDamage + morter.bonusArmorDamage;
- case TowerType.TeslaCoil:
- return global.bonusArmorDamage + teslaCoil.bonusArmorDamage;
- case TowerType.FlameThrower:
- return global.bonusArmorDamage + flameThrower.bonusArmorDamage;
- case TowerType.PoisonSprayer:
- return global.bonusArmorDamage + poisonSprayer.bonusArmorDamage;
- case TowerType.Frost:
- return global.bonusArmorDamage + frostKeep.bonusArmorDamage;
- case TowerType.Radar:
- return global.bonusArmorDamage + radar.bonusArmorDamage;
- case TowerType.Obelisk:
- return global.bonusArmorDamage + obelisk.bonusArmorDamage;
- case TowerType.ParticleCannon:
- return global.bonusArmorDamage + particleCannon.bonusArmorDamage;
- case TowerType.Shredder:
- return global.bonusArmorDamage + shredder.bonusArmorDamage;
- case TowerType.Encampment:
- return global.bonusArmorDamage + encampment.bonusArmorDamage;
- case TowerType.Lookout:
- return global.bonusArmorDamage + lookout.bonusArmorDamage;
- default:
- Debug.Log("Failed to get global bonus");
- return 0;
- }
- }
-
- public int GetBonusShieldDamage(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.bonusShieldDamage + crossbow.bonusShieldDamage;
- case TowerType.Morter:
- return global.bonusShieldDamage + morter.bonusShieldDamage;
- case TowerType.TeslaCoil:
- return global.bonusShieldDamage + teslaCoil.bonusShieldDamage;
- case TowerType.FlameThrower:
- return global.bonusShieldDamage + flameThrower.bonusShieldDamage;
- case TowerType.PoisonSprayer:
- return global.bonusShieldDamage + poisonSprayer.bonusShieldDamage;
- case TowerType.Frost:
- return global.bonusShieldDamage + frostKeep.bonusShieldDamage;
- case TowerType.Radar:
- return global.bonusShieldDamage + radar.bonusShieldDamage;
- case TowerType.Obelisk:
- return global.bonusShieldDamage + obelisk.bonusShieldDamage;
- case TowerType.ParticleCannon:
- return global.bonusShieldDamage + particleCannon.bonusShieldDamage;
- case TowerType.Shredder:
- return global.bonusShieldDamage + shredder.bonusShieldDamage;
- case TowerType.Encampment:
- return global.bonusShieldDamage + encampment.bonusShieldDamage;
- case TowerType.Lookout:
- return global.bonusShieldDamage + lookout.bonusShieldDamage;
- default:
- Debug.Log("Failed to get global bonus");
- return 0;
- }
- }
-
- public float GetBonusSlow(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.bonusSlow + crossbow.bonusSlow;
- case TowerType.Morter:
- return global.bonusSlow + morter.bonusSlow;
- case TowerType.TeslaCoil:
- return global.bonusSlow + teslaCoil.bonusSlow;
- case TowerType.FlameThrower:
- return global.bonusSlow + flameThrower.bonusSlow;
- case TowerType.PoisonSprayer:
- return global.bonusSlow + poisonSprayer.bonusSlow;
- case TowerType.Frost:
- return global.bonusSlow + frostKeep.bonusSlow;
- case TowerType.Radar:
- return global.bonusSlow + radar.bonusSlow;
- case TowerType.Obelisk:
- return global.bonusSlow + obelisk.bonusSlow;
- case TowerType.ParticleCannon:
- return global.bonusSlow + particleCannon.bonusSlow;
- case TowerType.Shredder:
- return global.bonusSlow + shredder.bonusSlow;
- case TowerType.Encampment:
- return global.bonusSlow + encampment.bonusSlow;
- case TowerType.Lookout:
- return global.bonusSlow + lookout.bonusSlow;
- default:
- Debug.Log("Failed to get global bonus");
- return 0f;
- }
- }
-
- public float GetBonusBleed(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.bonusBleed + crossbow.bonusBleed;
- case TowerType.Morter:
- return global.bonusBleed + morter.bonusBleed;
- case TowerType.TeslaCoil:
- return global.bonusBleed + teslaCoil.bonusBleed;
- case TowerType.FlameThrower:
- return global.bonusBleed + flameThrower.bonusBleed;
- case TowerType.PoisonSprayer:
- return global.bonusBleed + poisonSprayer.bonusBleed;
- case TowerType.Frost:
- return global.bonusBleed + frostKeep.bonusBleed;
- case TowerType.Radar:
- return global.bonusBleed + radar.bonusBleed;
- case TowerType.Obelisk:
- return global.bonusBleed + obelisk.bonusBleed;
- case TowerType.ParticleCannon:
- return global.bonusBleed + particleCannon.bonusBleed;
- case TowerType.Shredder:
- return global.bonusBleed + shredder.bonusBleed;
- case TowerType.Encampment:
- return global.bonusBleed + encampment.bonusBleed;
- case TowerType.Lookout:
- return global.bonusBleed + lookout.bonusBleed;
- default:
- Debug.Log("Failed to get global bonus");
- return 0f;
- }
- }
-
- public float GetBonusBurn(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.bonusBurn + crossbow.bonusBurn;
- case TowerType.Morter:
- return global.bonusBurn + morter.bonusBurn;
- case TowerType.TeslaCoil:
- return global.bonusBurn + teslaCoil.bonusBurn;
- case TowerType.FlameThrower:
- return global.bonusBurn + flameThrower.bonusBurn;
- case TowerType.PoisonSprayer:
- return global.bonusBurn + poisonSprayer.bonusBurn;
- case TowerType.Frost:
- return global.bonusBurn + frostKeep.bonusBurn;
- case TowerType.Radar:
- return global.bonusBurn + radar.bonusBurn;
- case TowerType.Obelisk:
- return global.bonusBurn + obelisk.bonusBurn;
- case TowerType.ParticleCannon:
- return global.bonusBurn + particleCannon.bonusBurn;
- case TowerType.Shredder:
- return global.bonusBurn + shredder.bonusBurn;
- case TowerType.Encampment:
- return global.bonusBurn + encampment.bonusBurn;
- case TowerType.Lookout:
- return global.bonusBurn + lookout.bonusBurn;
- default:
- Debug.Log("Failed to get global bonus");
- return 0f;
- }
- }
-
- public float GetBonusPoison(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.bonusPoison + crossbow.bonusPoison;
- case TowerType.Morter:
- return global.bonusPoison + morter.bonusPoison;
- case TowerType.TeslaCoil:
- return global.bonusPoison + teslaCoil.bonusPoison;
- case TowerType.FlameThrower:
- return global.bonusPoison + flameThrower.bonusPoison;
- case TowerType.PoisonSprayer:
- return global.bonusPoison + poisonSprayer.bonusPoison;
- case TowerType.Frost:
- return global.bonusPoison + frostKeep.bonusPoison;
- case TowerType.Radar:
- return global.bonusPoison + radar.bonusPoison;
- case TowerType.Obelisk:
- return global.bonusPoison + obelisk.bonusPoison;
- case TowerType.ParticleCannon:
- return global.bonusPoison + particleCannon.bonusPoison;
- case TowerType.Shredder:
- return global.bonusPoison + shredder.bonusPoison;
- case TowerType.Encampment:
- return global.bonusPoison + encampment.bonusPoison;
- case TowerType.Lookout:
- return global.bonusPoison + lookout.bonusPoison;
- default:
- Debug.Log("Failed to get global bonus");
- return 0f;
- }
- }
-
- public float GetBonusBlast(TowerType type)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- return global.bonusBlast + crossbow.bonusBlast;
- case TowerType.Morter:
- return global.bonusBlast + morter.bonusBlast;
- case TowerType.TeslaCoil:
- return global.bonusBlast + teslaCoil.bonusBlast;
- case TowerType.FlameThrower:
- return global.bonusBlast + flameThrower.bonusBlast;
- case TowerType.PoisonSprayer:
- return global.bonusBlast + poisonSprayer.bonusBlast;
- case TowerType.Frost:
- return global.bonusBlast + frostKeep.bonusBlast;
- case TowerType.Radar:
- return global.bonusBlast + radar.bonusBlast;
- case TowerType.Obelisk:
- return global.bonusBlast + obelisk.bonusBlast;
- case TowerType.ParticleCannon:
- return global.bonusBlast + particleCannon.bonusBlast;
- case TowerType.Shredder:
- return global.bonusBlast + shredder.bonusBlast;
- case TowerType.Encampment:
- return global.bonusBlast + encampment.bonusBlast;
- case TowerType.Lookout:
- return global.bonusBlast + lookout.bonusBlast;
- default:
- Debug.Log("Failed to get global bonus");
- return 0f;
- }
- }
-
- public void AddManaConsumption(TowerType type, float value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddManaAddition(value);
- break;
- case TowerType.Morter:
- morter.AddManaAddition(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddManaAddition(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddManaAddition(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddManaAddition(value);
- break;
- case TowerType.Frost:
- frostKeep.AddManaAddition(value);
- break;
- case TowerType.Radar:
- radar.AddManaAddition(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddManaAddition(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddManaAddition(value);
- break;
- case TowerType.Shredder:
- shredder.AddManaAddition(value);
- break;
- case TowerType.Encampment:
- encampment.AddManaAddition(value);
- break;
- case TowerType.Lookout:
- lookout.AddManaAddition(value);
- break;
- case TowerType.Global:
- global.AddManaAddition(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddCritChance(TowerType type, float value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddCritChance(value);
- break;
- case TowerType.Morter:
- morter.AddCritChance(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddCritChance(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddCritChance(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddCritChance(value);
- break;
- case TowerType.Frost:
- frostKeep.AddCritChance(value);
- break;
- case TowerType.Radar:
- radar.AddCritChance(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddCritChance(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddCritChance(value);
- break;
- case TowerType.Shredder:
- shredder.AddCritChance(value);
- break;
- case TowerType.Encampment:
- encampment.AddCritChance(value);
- break;
- case TowerType.Lookout:
- lookout.AddCritChance(value);
- break;
- case TowerType.Global:
- global.AddCritChance(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddStunChance(TowerType type, float value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddStunChance(value);
- break;
- case TowerType.Morter:
- morter.AddStunChance(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddStunChance(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddStunChance(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddStunChance(value);
- break;
- case TowerType.Frost:
- frostKeep.AddStunChance(value);
- break;
- case TowerType.Radar:
- radar.AddStunChance(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddStunChance(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddStunChance(value);
- break;
- case TowerType.Shredder:
- shredder.AddStunChance(value);
- break;
- case TowerType.Encampment:
- encampment.AddStunChance(value);
- break;
- case TowerType.Lookout:
- lookout.AddStunChance(value);
- break;
- case TowerType.Global:
- global.AddStunChance(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddCritChanceLevelMultiplier(TowerType type, float value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddCritChanceLevelMultiplier(value);
- break;
- case TowerType.Morter:
- morter.AddCritChanceLevelMultiplier(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddCritChanceLevelMultiplier(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddCritChanceLevelMultiplier(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddCritChanceLevelMultiplier(value);
- break;
- case TowerType.Frost:
- frostKeep.AddCritChanceLevelMultiplier(value);
- break;
- case TowerType.Radar:
- radar.AddCritChanceLevelMultiplier(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddCritChanceLevelMultiplier(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddCritChanceLevelMultiplier(value);
- break;
- case TowerType.Shredder:
- shredder.AddCritChanceLevelMultiplier(value);
- break;
- case TowerType.Encampment:
- encampment.AddCritChanceLevelMultiplier(value);
- break;
- case TowerType.Lookout:
- lookout.AddCritChanceLevelMultiplier(value);
- break;
- case TowerType.Global:
- global.AddCritChanceLevelMultiplier(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddBonusRange(TowerType type, float value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddBonusRange(value);
- break;
- case TowerType.Morter:
- morter.AddBonusRange(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddBonusRange(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddBonusRange(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddBonusRange(value);
- break;
- case TowerType.Frost:
- frostKeep.AddBonusRange(value);
- break;
- case TowerType.Radar:
- radar.AddBonusRange(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddBonusRange(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddBonusRange(value);
- break;
- case TowerType.Shredder:
- shredder.AddBonusRange(value);
- break;
- case TowerType.Encampment:
- encampment.AddBonusRange(value);
- break;
- case TowerType.Lookout:
- lookout.AddBonusRange(value);
- break;
- case TowerType.Global:
- global.AddBonusRange(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddBonusBaseDamage(TowerType type, int value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddBonusBaseDamage(value);
- break;
- case TowerType.Morter:
- morter.AddBonusBaseDamage(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddBonusBaseDamage(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddBonusBaseDamage(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddBonusBaseDamage(value);
- break;
- case TowerType.Frost:
- frostKeep.AddBonusBaseDamage(value);
- break;
- case TowerType.Radar:
- radar.AddBonusBaseDamage(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddBonusBaseDamage(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddBonusBaseDamage(value);
- break;
- case TowerType.Shredder:
- shredder.AddBonusBaseDamage(value);
- break;
- case TowerType.Encampment:
- encampment.AddBonusBaseDamage(value);
- break;
- case TowerType.Lookout:
- lookout.AddBonusBaseDamage(value);
- break;
- case TowerType.Global:
- global.AddBonusBaseDamage(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddBonusHealthDamage(TowerType type, int value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddBonusHealthDamage(value);
- break;
- case TowerType.Morter:
- morter.AddBonusHealthDamage(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddBonusHealthDamage(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddBonusHealthDamage(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddBonusHealthDamage(value);
- break;
- case TowerType.Frost:
- frostKeep.AddBonusHealthDamage(value);
- break;
- case TowerType.Radar:
- radar.AddBonusHealthDamage(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddBonusHealthDamage(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddBonusHealthDamage(value);
- break;
- case TowerType.Shredder:
- shredder.AddBonusHealthDamage(value);
- break;
- case TowerType.Encampment:
- encampment.AddBonusHealthDamage(value);
- break;
- case TowerType.Lookout:
- lookout.AddBonusHealthDamage(value);
- break;
- case TowerType.Global:
- global.AddBonusHealthDamage(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddBonusArmorDamage(TowerType type, int value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddBonusArmorDamage(value);
- break;
- case TowerType.Morter:
- morter.AddBonusArmorDamage(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddBonusArmorDamage(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddBonusArmorDamage(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddBonusArmorDamage(value);
- break;
- case TowerType.Frost:
- frostKeep.AddBonusArmorDamage(value);
- break;
- case TowerType.Radar:
- radar.AddBonusArmorDamage(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddBonusArmorDamage(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddBonusArmorDamage(value);
- break;
- case TowerType.Shredder:
- shredder.AddBonusArmorDamage(value);
- break;
- case TowerType.Encampment:
- encampment.AddBonusArmorDamage(value);
- break;
- case TowerType.Lookout:
- lookout.AddBonusArmorDamage(value);
- break;
- case TowerType.Global:
- global.AddBonusArmorDamage(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddBonusShieldDamage(TowerType type, int value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddBonusShieldDamage(value);
- break;
- case TowerType.Morter:
- morter.AddBonusShieldDamage(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddBonusShieldDamage(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddBonusShieldDamage(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddBonusShieldDamage(value);
- break;
- case TowerType.Frost:
- frostKeep.AddBonusShieldDamage(value);
- break;
- case TowerType.Radar:
- radar.AddBonusShieldDamage(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddBonusShieldDamage(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddBonusShieldDamage(value);
- break;
- case TowerType.Shredder:
- shredder.AddBonusShieldDamage(value);
- break;
- case TowerType.Encampment:
- encampment.AddBonusShieldDamage(value);
- break;
- case TowerType.Lookout:
- lookout.AddBonusShieldDamage(value);
- break;
- case TowerType.Global:
- global.AddBonusShieldDamage(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddBonusSlow(TowerType type, float value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddBonusSlow(value);
- break;
- case TowerType.Morter:
- morter.AddBonusSlow(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddBonusSlow(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddBonusSlow(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddBonusSlow(value);
- break;
- case TowerType.Frost:
- frostKeep.AddBonusSlow(value);
- break;
- case TowerType.Radar:
- radar.AddBonusSlow(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddBonusSlow(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddBonusSlow(value);
- break;
- case TowerType.Shredder:
- shredder.AddBonusSlow(value);
- break;
- case TowerType.Encampment:
- encampment.AddBonusSlow(value);
- break;
- case TowerType.Lookout:
- lookout.AddBonusSlow(value);
- break;
- case TowerType.Global:
- global.AddBonusSlow(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddBonusBleed(TowerType type, float value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddBonusBleed(value);
- break;
- case TowerType.Morter:
- morter.AddBonusBleed(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddBonusBleed(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddBonusBleed(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddBonusBleed(value);
- break;
- case TowerType.Frost:
- frostKeep.AddBonusBleed(value);
- break;
- case TowerType.Radar:
- radar.AddBonusBleed(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddBonusBleed(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddBonusBleed(value);
- break;
- case TowerType.Shredder:
- shredder.AddBonusBleed(value);
- break;
- case TowerType.Encampment:
- encampment.AddBonusBleed(value);
- break;
- case TowerType.Lookout:
- lookout.AddBonusBleed(value);
- break;
- case TowerType.Global:
- global.AddBonusBleed(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddBonusBurn(TowerType type, float value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddBonusBurn(value);
- break;
- case TowerType.Morter:
- morter.AddBonusBurn(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddBonusBurn(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddBonusBurn(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddBonusBurn(value);
- break;
- case TowerType.Frost:
- frostKeep.AddBonusBurn(value);
- break;
- case TowerType.Radar:
- radar.AddBonusBurn(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddBonusBurn(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddBonusBurn(value);
- break;
- case TowerType.Shredder:
- shredder.AddBonusBurn(value);
- break;
- case TowerType.Encampment:
- encampment.AddBonusBurn(value);
- break;
- case TowerType.Lookout:
- lookout.AddBonusBurn(value);
- break;
- case TowerType.Global:
- global.AddBonusBurn(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddBonusPoison(TowerType type, float value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddBonusPoison(value);
- break;
- case TowerType.Morter:
- morter.AddBonusPoison(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddBonusPoison(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddBonusPoison(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddBonusPoison(value);
- break;
- case TowerType.Frost:
- frostKeep.AddBonusPoison(value);
- break;
- case TowerType.Radar:
- radar.AddBonusPoison(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddBonusPoison(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddBonusPoison(value);
- break;
- case TowerType.Shredder:
- shredder.AddBonusPoison(value);
- break;
- case TowerType.Encampment:
- encampment.AddBonusPoison(value);
- break;
- case TowerType.Lookout:
- lookout.AddBonusPoison(value);
- break;
- case TowerType.Global:
- global.AddBonusPoison(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-
- public void AddBonusBlast(TowerType type, float value)
- {
- switch (type)
- {
- case TowerType.Crossbow:
- crossbow.AddBonusBlast(value);
- break;
- case TowerType.Morter:
- morter.AddBonusBlast(value);
- break;
- case TowerType.TeslaCoil:
- teslaCoil.AddBonusBlast(value);
- break;
- case TowerType.FlameThrower:
- flameThrower.AddBonusBlast(value);
- break;
- case TowerType.PoisonSprayer:
- poisonSprayer.AddBonusBlast(value);
- break;
- case TowerType.Frost:
- frostKeep.AddBonusBlast(value);
- break;
- case TowerType.Radar:
- radar.AddBonusBlast(value);
- break;
- case TowerType.Obelisk:
- obelisk.AddBonusBlast(value);
- break;
- case TowerType.ParticleCannon:
- particleCannon.AddBonusBlast(value);
- break;
- case TowerType.Shredder:
- shredder.AddBonusBlast(value);
- break;
- case TowerType.Encampment:
- encampment.AddBonusBlast(value);
- break;
- case TowerType.Lookout:
- lookout.AddBonusBlast(value);
- break;
- case TowerType.Global:
- global.AddBonusBlast(value);
- UpdateAllTowers();
- break;
- default:
- Debug.Log("Failed to set global bonus");
- break;
- }
- }
-}