using UnityEngine; public enum GameState { InMenu, InGame, } public class GameManager : MonoBehaviour, IBase, IBootLoader, IDataLoader { private UIManager uiManager; public GameState GameState { get; private set; } public void Initialize() { InterfaceManager.Instance.RegisterInterface(this); } public void InitializeData() { uiManager = InterfaceManager.Instance.GetInterfaceInstance(); GameState = GameState.InMenu; OnGameStateChanged(GameState); } public void OnGameStateChanged(GameState gameState) { switch (gameState) { case GameState.InMenu: uiManager.OnInMenuScreen(); break; case GameState.InGame: uiManager.OnInGameScreen(); break; } } }