namespace DDD { public class GameState : ScriptSingleton { public GameLevelState LevelState { get; private set; } public UiState UiState { get; private set; } private void OnEnable() { LevelState = CreateInstance(); UiState = CreateInstance(); } private void OnDisable() { if (LevelState) DestroyImmediate(LevelState); if (UiState) DestroyImmediate(UiState); } } }