Global Game Jam 2021
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

67 lines
1.3 KiB

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using Variables;
public class StartScreenUI : MonoBehaviour
{
[SerializeField]
private Reference<float> m_StartTime;
[SerializeField]
private TextMeshProUGUI m_countdownText;
[SerializeField]
private AnimationCurve m_lerpCurve;
[SerializeField]
private Transform m_startPosition;
[SerializeField]
private Transform m_endPosition;
private void OnEnable()
{
m_StartTime.OnValueChanged += UpdateCountDown;
}
private void OnDisable()
{
m_StartTime.OnValueChanged -= UpdateCountDown;
}
private void UpdateCountDown(float value)
{
m_countdownText.text = ((int)value).ToString();
float ratio = m_lerpCurve.Evaluate(value % 1);
m_countdownText.transform.position = Vector3.Lerp(m_endPosition.position, m_startPosition.position, ratio);
}
[ContextMenu("Do Count Down")]
private void CountDown()
{
StartCoroutine(CountToZero(m_StartTime));
}
private IEnumerator CountToZero(float start)
{
m_StartTime.Value = start;
while (m_StartTime > 0)
{
m_StartTime.Value -= Time.deltaTime;
yield return new WaitForEndOfFrame();
}
}
}