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; _gameCountdownManager.StartLevelTimer(); _gameCountdownManager.OnFinish.AddListener(() => { if (IsOpenRestartGameOnCountdownFinish) StartCoroutine(OnCountDown()); } ); } public IEnumerator OnCountDown() { StartCoroutine(ScreenGlitchManager.Instance.TriggerGlitchEffect()); yield return new WaitForSeconds(1.0f); GameManager.Instance.ReStartGameplay(); } } }