fix: Implement lazy initialization for Constants to prevent null reference errors

This commit is contained in:
2025-12-15 09:36:27 +01:00
parent ca517be369
commit 2ad605138e
2 changed files with 28 additions and 10 deletions

View File

@@ -15,19 +15,20 @@ namespace KCM
/// </summary>
public static class Constants
{
public static readonly MainMenuMode MainMenuMode = GameState.inst.mainMenuMode;
public static readonly PlayingMode PlayingMode = GameState.inst.playingMode;
public static readonly World World = GameState.inst.world;
// Use lazy initialization to avoid null reference when GameState isn't ready yet
public static MainMenuMode MainMenuMode => GameState.inst?.mainMenuMode;
public static PlayingMode PlayingMode => GameState.inst?.playingMode;
public static World World => GameState.inst?.world;
#region "UI"
public static readonly Transform MainMenuUI_T = MainMenuMode.mainMenuUI.transform;
public static readonly GameObject MainMenuUI_O = MainMenuMode.mainMenuUI;
public static Transform MainMenuUI_T => MainMenuMode?.mainMenuUI?.transform;
public static GameObject MainMenuUI_O => MainMenuMode?.mainMenuUI;
/* public static readonly Transform TopLevelUI_T = MainMenuUI_T.parent;
public static readonly GameObject TopLevelUI_O = MainMenuUI_T.parent.gameObject;*/
public static readonly Transform ChooseModeUI_T = MainMenuMode.chooseModeUI.transform;
public static readonly GameObject ChooseModeUI_O = MainMenuMode.chooseModeUI;
public static Transform ChooseModeUI_T => MainMenuMode?.chooseModeUI?.transform;
public static GameObject ChooseModeUI_O => MainMenuMode?.chooseModeUI;
#endregion
}