mirror of
https://github.com/ryzij/Cube-Tower-Defense.git
synced 2026-07-14 01:56:57 +00:00
Initial commit
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class GameMenuButtons : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private GameManager _gameManager;
|
||||
[SerializeField] private SandPathBuildService _sandPathBuildService;
|
||||
[SerializeField] private Button _nextLevelButton;
|
||||
[SerializeField] private Button _resetPathButton;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
_gameManager.OnStateChanged += OnStateChanged;
|
||||
|
||||
if (_resetPathButton != null)
|
||||
_resetPathButton.onClick.AddListener(OnResetButtonClick);
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
_gameManager.OnStateChanged -= OnStateChanged;
|
||||
|
||||
if (_resetPathButton != null)
|
||||
_resetPathButton.onClick.RemoveListener(OnResetButtonClick);
|
||||
}
|
||||
|
||||
private void OnStateChanged(GameManager.GameState newState)
|
||||
{
|
||||
_nextLevelButton.interactable = newState != GameManager.GameState.BuildingPath;
|
||||
if (!_nextLevelButton.interactable || _resetPathButton == null)
|
||||
return;
|
||||
|
||||
_resetPathButton.onClick.RemoveAllListeners();
|
||||
Destroy(_resetPathButton.gameObject);
|
||||
_resetPathButton = null;
|
||||
}
|
||||
|
||||
private void OnResetButtonClick()
|
||||
{
|
||||
_sandPathBuildService.ResetPath();
|
||||
_gameManager.CurrentState = GameManager.GameState.BuildingPath;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user