diff options
Diffstat (limited to 'ROUNDS/LevelScale.cs')
-rw-r--r-- | ROUNDS/LevelScale.cs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/ROUNDS/LevelScale.cs b/ROUNDS/LevelScale.cs new file mode 100644 index 0000000..39969ca --- /dev/null +++ b/ROUNDS/LevelScale.cs @@ -0,0 +1,45 @@ +using System; +using UnityEngine; + +public class LevelScale : MonoBehaviour +{ + public bool onLevelUp = true; + + public bool onStart; + + private AttackLevel level; + + private Vector3 startScale; + + private bool inited; + + private void Init() + { + if (!inited) + { + inited = true; + startScale = base.transform.localScale; + } + } + + private void Start() + { + Init(); + level = GetComponent<AttackLevel>(); + if (onStart) + { + base.transform.localScale *= level.LevelScale(); + } + if (onLevelUp) + { + AttackLevel attackLevel = level; + attackLevel.LevelUpAction = (Action<int>)Delegate.Combine(attackLevel.LevelUpAction, new Action<int>(LevelUp)); + } + } + + public void LevelUp(int lvl) + { + Init(); + base.transform.localScale = startScale * level.LevelScale(); + } +} |