75 lines
1.4 KiB
C#
75 lines
1.4 KiB
C#
using MkeyFW;
|
|
using System;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
|
|
public class GameController : MonoBehaviour
|
|
{
|
|
private bool initialized = false;
|
|
|
|
[SerializeField] private GameObject init;
|
|
[SerializeField] private GameObject gameplay;
|
|
[SerializeField] private GameObject gameover;
|
|
[SerializeField] private GameObject gamelost;
|
|
|
|
[SerializeField] private TextMeshProUGUI text;
|
|
[SerializeField] private Transform reel;
|
|
|
|
|
|
private bool isGameOver = false;
|
|
|
|
private void Start()
|
|
{
|
|
OnRestartGame();
|
|
|
|
foreach(Transform child in reel)
|
|
{
|
|
child.GetComponent<Sector>().hitEvent.AddListener((sector) =>
|
|
{
|
|
text.text = sector.Text.text;
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
public void OnImageFound()
|
|
{
|
|
if (isGameOver) return;
|
|
|
|
if (!initialized)
|
|
{
|
|
initialized = true;
|
|
init.SetActive(false);
|
|
}
|
|
|
|
gameplay.SetActive(true);
|
|
gamelost.SetActive(false);
|
|
}
|
|
|
|
|
|
public void OnImageLost()
|
|
{
|
|
if (isGameOver) return;
|
|
gameplay.SetActive(false);
|
|
gamelost.SetActive(true);
|
|
|
|
}
|
|
|
|
public void OnGameOver()
|
|
{
|
|
isGameOver = true;
|
|
gameplay.SetActive(false);
|
|
}
|
|
|
|
public void OnRestartGame()
|
|
{
|
|
isGameOver = false;
|
|
init.SetActive(true);
|
|
initialized = false;
|
|
|
|
gameplay.SetActive(false);
|
|
gameover.SetActive(false);
|
|
}
|
|
|
|
}
|