using Managers; using UnityEngine; public class GameManager : MonoBehaviour { public static GameManager Instance { get; private set; } public UIManager UIManager { get; private set; } public PlayerManager PlayerManager { get; private set; } public GameItemManager GameItemManager { get; set; } public AudioManager AudioManager { get; set; } public SaveManager SaveManager { get; set; } private void Awake() { if (Instance == null) { Instance = this; DontDestroyOnLoad(gameObject); // Initialize managers UIManager = GetComponent(); GameItemManager = GetComponent(); AudioManager = GetComponent(); PlayerManager = GetComponent(); } else { Destroy(gameObject); } } public void StartGame() { UIManager.ShowMainMenuScreen(false); // AudioManager.PlayMusic("MainTheme"); } public void EndGame() { UIManager.ShowGameOverScreen(true); // AudioManager.PlayMusic("GameOverTheme"); } }