using System; using UnityEngine; namespace GameFramework { /// /// 全局游戏状态管理器(持久化单例)。 /// 维护 GameState,提供 GameOver 触发入口与 onGameOver 事件。 /// public class GameManager : PersistentSingleton { /// 游戏结束时触发(GameOverScreen 等订阅)。 public static Action onGameOver; public static GameState GameState { get => Instance.gameState; set => Instance.gameState = value; } [SerializeField] private GameState gameState = GameState.Playing; /// 触发游戏结束:设状态 + 触发事件。玩家被敌人抓到时调用。 public static void GameOver() { if (Instance == null) return; GameState = GameState.GameOver; onGameOver?.Invoke(); } } public enum GameState { Playing, Paused, GameOver, Scoring } }