53 lines
1.6 KiB
C#
53 lines
1.6 KiB
C#
using System;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class GameOverUI : MonoBehaviour
|
|
{
|
|
public static GameOverUI Instance { get; private set; }
|
|
|
|
[SerializeField] private TextMeshProUGUI recipeDeliveredText;
|
|
[SerializeField] private TextMeshProUGUI pointsText;
|
|
[SerializeField] private Button restartButton;
|
|
[SerializeField] private Button mainMenuButton;
|
|
|
|
|
|
private void Awake()
|
|
{
|
|
Instance = this;
|
|
restartButton.onClick.AddListener(() => Loader.Load(Loader.Scene.GameScene));
|
|
mainMenuButton.onClick.AddListener(() => Loader.Load(Loader.Scene.MainMenuScene));
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
KitchenGameManager.Instance.OnStateChanged += KitchenGameManager_OnStateChanged;
|
|
Hide();
|
|
restartButton.Select();
|
|
}
|
|
|
|
private void KitchenGameManager_OnStateChanged(object sender, System.EventArgs e)
|
|
{
|
|
if (KitchenGameManager.Instance.IsGameOver())
|
|
{
|
|
recipeDeliveredText.text = DeliveryManager.Instance.SuccessfulRecipes.ToString();
|
|
pointsText.text = DeliveryManager.Instance.Points.ToString();
|
|
Show();
|
|
GamePlayingClockUI.Instance.Hide();
|
|
DeliveryManagerUI.Instance.Hide();
|
|
PointsUI.Instance.Hide();
|
|
}
|
|
else
|
|
{
|
|
Hide();
|
|
GamePlayingClockUI.Instance.Show();
|
|
DeliveryManagerUI.Instance.Show();
|
|
PointsUI.Instance.Show();
|
|
}
|
|
}
|
|
|
|
public void Hide() => gameObject.SetActive(false);
|
|
|
|
public void Show() => gameObject.SetActive(true);
|
|
} |