diff options
Diffstat (limited to 'GameCode/MonsterUpgradeCard.cs')
-rw-r--r-- | GameCode/MonsterUpgradeCard.cs | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/GameCode/MonsterUpgradeCard.cs b/GameCode/MonsterUpgradeCard.cs new file mode 100644 index 0000000..d78ab81 --- /dev/null +++ b/GameCode/MonsterUpgradeCard.cs @@ -0,0 +1,57 @@ +using UnityEngine; +using UnityEngine.UI; + +public class MonsterUpgradeCard : UpgradeCard +{ + [SerializeField] + private GameObject banditObject; + + [SerializeField] + private Text banditText; + + [SerializeField] + private int extraTowerDamage; + + [SerializeField] + private int extraGoldDrop; + + [SerializeField] + private float manaDropOnDeath; + + [SerializeField] + private float speedBonus; + + [SerializeField] + private float slowCapMod; + + [SerializeField] + private float hasteCapMod; + + public override void Upgrade() + { + base.Upgrade(); + MonsterManager.instance.extraTowerDamage += extraTowerDamage; + MonsterManager.instance.extraGoldDrop += extraGoldDrop; + MonsterManager.instance.manaDropOnDeath += manaDropOnDeath; + MonsterManager.instance.speedBonus += speedBonus; + MonsterManager.instance.slowCapModifier += slowCapMod; + MonsterManager.instance.hasteCapModifier += hasteCapMod; + if (extraGoldDrop > 0) + { + banditObject.SetActive(value: true); + banditText.text = "+" + MonsterManager.instance.extraGoldDrop + "g"; + } + if (manaDropOnDeath > 0f) + { + ResourceManager.instance.UpdateManaHUD(); + } + if ((double)MonsterManager.instance.slowCapModifier >= 0.3) + { + AchievementManager.instance.UnlockAchievement("MaxSlow"); + } + if (MonsterManager.instance.hasteCapModifier <= -0.6f) + { + AchievementManager.instance.UnlockAchievement("MaxHaste"); + } + } +} |