using UnityEngine; public class MANAGER_WindowsBase : MonoBehaviour { public static MANAGER_WindowsBase Instance { get; private set; } [Header("Core Systems")] public MANAGER_Mail MailSystem; public MANAGER_QuestProgress QuestSystem; public MANAGER_RemoteData RemoteData; public MANAGER_UI UI; public MANAGER_Shop ShopSystem; // 1. Делаем Awake доступным для наследников (protected) // и разрешаем его переопределение (virtual) protected virtual void Awake() { if (Instance == null) { Instance = this; // Убедитесь, что Singleton нужен именно здесь. // Если это базовый класс для МНОГИХ окон, DontDestroyOnLoad может быть лишним. DontDestroyOnLoad(gameObject); } else if (Instance != this) { Destroy(gameObject); } } }