summaryrefslogtreecommitdiff
path: root/Thronefall_v1.0/Decompile/WaveCountPopUp.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Thronefall_v1.0/Decompile/WaveCountPopUp.cs')
-rw-r--r--Thronefall_v1.0/Decompile/WaveCountPopUp.cs77
1 files changed, 77 insertions, 0 deletions
diff --git a/Thronefall_v1.0/Decompile/WaveCountPopUp.cs b/Thronefall_v1.0/Decompile/WaveCountPopUp.cs
new file mode 100644
index 0000000..cf4b150
--- /dev/null
+++ b/Thronefall_v1.0/Decompile/WaveCountPopUp.cs
@@ -0,0 +1,77 @@
+using System.Collections;
+using TMPro;
+using UnityEngine;
+
+public class WaveCountPopUp : MonoBehaviour, DayNightCycle.IDaytimeSensitive
+{
+ public GameObject popup;
+
+ public AnimationCurve scaleCurve;
+
+ public float animationTime = 0.75f;
+
+ public float initialDelay = 0.5f;
+
+ public float showTime = 3f;
+
+ public TextMeshProUGUI targetText;
+
+ private bool inAnimation;
+
+ private void Start()
+ {
+ popup.SetActive(value: false);
+ DayNightCycle.Instance.RegisterDaytimeSensitiveObject(this);
+ }
+
+ public void OnDawn_AfterSunrise()
+ {
+ }
+
+ public void OnDawn_BeforeSunrise()
+ {
+ }
+
+ public void OnDusk()
+ {
+ if (!inAnimation)
+ {
+ StartCoroutine(PopUpAnimation());
+ }
+ }
+
+ private IEnumerator PopUpAnimation()
+ {
+ inAnimation = true;
+ popup.SetActive(value: true);
+ popup.transform.localScale = Vector3.zero;
+ float timer2 = 0f;
+ yield return new WaitForSeconds(initialDelay);
+ targetText.text = "<style=Body Numerals>" + (EnemySpawner.instance.Wavenumber + 1) + "</style><style=Body Bold>/</style><style=Body Numerals>" + EnemySpawner.instance.WaveCount;
+ StartCoroutine(PlaySoundDelayed());
+ while (timer2 < animationTime)
+ {
+ timer2 += Time.deltaTime;
+ popup.transform.localScale = Vector3.one * scaleCurve.Evaluate(Mathf.InverseLerp(0f, animationTime, timer2));
+ yield return null;
+ }
+ popup.transform.localScale = Vector3.one;
+ yield return new WaitForSeconds(showTime);
+ timer2 = 0f;
+ while (timer2 < animationTime)
+ {
+ timer2 += Time.deltaTime;
+ popup.transform.localScale = Vector3.one * scaleCurve.Evaluate(Mathf.InverseLerp(animationTime, 0f, timer2));
+ yield return null;
+ }
+ popup.transform.localScale = Vector3.zero;
+ popup.SetActive(value: false);
+ inAnimation = false;
+ }
+
+ private IEnumerator PlaySoundDelayed()
+ {
+ yield return new WaitForSeconds(0.1f);
+ ThronefallAudioManager.Oneshot(ThronefallAudioManager.AudioOneShot.ShowWaveCount);
+ }
+}