using System; using System.Collections; using Core; using Script.Gameplay.Input; using UnityEngine; namespace Script.Gameplay.Global { public enum GameState { Boot, // 初始化 MainMenu, // 主菜单 Playing, // 游戏中 Paused, // 暂停 GameOver, // 游戏结束 Victory // 胜利 } public class GameFlowManager : MonoSingleton { public bool IsOpenRestartGameOnCountdownFinish = true; private GameCountdownManager _gameCountdownManager; private void Start() { _gameCountdownManager = GameCountdownManager.Instance; GameManager.Instance.OnGameStart += OnGameStart; _gameCountdownManager.OnFinish.AddListener(() => { if (IsOpenRestartGameOnCountdownFinish) StartCoroutine(GameManager.Instance.ReStartGame()); } ); } public void OnGameStart() { _gameCountdownManager.StartLevelTimer(); } } }