Files
2025TapTapGameJam/Assets/Script/Gameplay/Global/GameFlowManager.cs

47 lines
1.3 KiB
C#
Raw Normal View History

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<GameFlowManager>
{
public bool IsOpenRestartGameOnCountdownFinish = true;
private GameCountdownManager _gameCountdownManager;
private void Start()
{
_gameCountdownManager = GameCountdownManager.Instance;
GameManager.Instance.OnGameStart += OnGameStart;
_gameCountdownManager.OnFinish.AddListener(() =>
{
if (IsOpenRestartGameOnCountdownFinish)
StartCoroutine(OnCountDown());
}
);
}
public void OnGameStart()
{
_gameCountdownManager.StartLevelTimer();
}
public IEnumerator OnCountDown()
{
StartCoroutine(ScreenGlitchManager.Instance.TriggerGlitchEffect());
yield return new WaitForSeconds(1.0f);
GameManager.Instance.ReStartGame();
}
}
}