This commit is contained in:
2023-06-16 19:10:51 +03:00
parent cf6dbed1f5
commit 69f9b0bd4b
8 changed files with 1125 additions and 119 deletions

View File

@@ -0,0 +1,64 @@
using UnityEngine;
using TMPro;
using Objects;
public class GameplayUI : MonoBehaviour
{
[SerializeField] private GameObject uiContainer;
[SerializeField] private TextMeshProUGUI timerText;
[SerializeField] private TextMeshProUGUI movesText;
[SerializeField] private GameObject winUI;
private float gameplayStart;
private int moves;
private bool isRunning;
private void Start()
{
winUI.SetActive(false);
uiContainer.SetActive(false);
GameManager.Instance.GameStateChanged += OnGameStateChanged;
Player.Instance.PlayerMoved += () => moves++;
}
private void Update()
{
if (isRunning)
{
// Debug.Log(Time.time - gameplayStart);
timerText.text = (Time.time - gameplayStart).ToString("F0");
movesText.text = moves.ToString();
}
}
private void OnDestroy()
{
GameManager.Instance.GameStateChanged -= OnGameStateChanged;
}
private void OnGameStateChanged(GameState newState)
{
bool isGameplay = newState == GameState.Gameplay;
uiContainer.SetActive(isGameplay);
winUI.SetActive(false);
if (isGameplay)
{
gameplayStart = Time.time;
moves = 0;
}
isRunning = isGameplay;
}
public void ShowWinScreen()
{
isRunning = false;
winUI.SetActive(true);
}
}

View File

@@ -1,22 +0,0 @@
using UnityEngine;
public class GamplayOnscreenControls : MonoBehaviour
{
[SerializeField] private GameObject uiContainer;
private void Start()
{
uiContainer.SetActive(false);
GameManager.Instance.GameStateChanged += OnGameStateChanged;
}
private void OnDestroy()
{
GameManager.Instance.GameStateChanged -= OnGameStateChanged;
}
private void OnGameStateChanged(GameState newState)
{
uiContainer.SetActive(newState == GameState.Gameplay);
}
}

View File

@@ -59,6 +59,7 @@ namespace Level
public void ToggleUI()
{
buttonsContainer.SetActive(!buttonsContainer.activeSelf);
currentOption = PlacementOption.None;
}