This repository has been archived on 2025-03-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
mojo-kitchen-chaos/Assets/Scripts/UI/GameStartCountdownUI.cs

66 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
public class GameStartCountdownUI : MonoBehaviour
{
private const string NUMBER_POPUP_ANIMATION = "NumberPopup";
[SerializeField] private TextMeshProUGUI countdownText;
private Animator animator;
private int previousCountdownNumber;
private void Awake()
{
animator = GetComponent<Animator>();
}
private void Start()
{
GameStateManager.Instace.OnStateChanged += GameStateManager_OnStateChanged;
Hide();
}
private void GameStateManager_OnStateChanged(object sender, System.EventArgs e)
{
if (GameStateManager.Instace.IsCountdownToStartActive())
{
Show();
} else
{
Hide();
}
}
private void Update()
{
int countdownNumber = Mathf.CeilToInt(GameStateManager.Instace.GetCountdownToStartTimer());
if (countdownNumber != previousCountdownNumber)
{
previousCountdownNumber = countdownNumber;
animator.SetTrigger(NUMBER_POPUP_ANIMATION);
countdownText.text = countdownNumber.ToString();
SoundManager.Instance.PlayCountdown();
}
}
private void Show()
{
gameObject.SetActive(true);
}
private void Hide()
{
gameObject.SetActive(false);
}
}