MainMenuManager
Overview
Controls the main menu flow: Continue, New Game, Tutorial, Quit, plus a warning path when save data exists. Also sets the top-level navigationRoute for UI and triggers main menu music.
Serialized References
- Atoms:
BoolVariable shouldLoadGame,SaveLoadManager saveLoadManager,VoidEvent playMainMenuMusic,StringVariable navigationRoute - UI:
SceneField gameplayScene,SceneField tutorialScene,GameObject warningPanel,GameObject tutorialSuggestion,Button continueButton
Behavior
- Start():
navigationRoute = ""(root of UI)continueButton.interactable = SaveLoadManager.HasSavedData()playMainMenuMusic.Raise()
- OnContinueButtonPressed():
shouldLoadGame = true→ loadgameplayScene.
- OnPlayButtonPressed():
- If saved data → show
warningPanel. - Else if
PlayerPrefs["HasStartedGame"] == 1→shouldLoadGame=falseand load gameplay. - Else → show
tutorialSuggestionprompt.
- If saved data → show
- OnTutorialSuggestionConfirmPressed():
shouldLoadGame=false, load gameplay. - OnWarningConfirmButtonPressed():
saveLoadManager.ClearAllSavedData(),shouldLoadGame=false, load gameplay. - OnWarningCancelButtonPressed(): refresh
continueButton.interactablefromHasSavedData(). - OnPlayTutorialButtonPressed():
shouldLoadGame=false, loadtutorialScene. - OnQuitButtonPressed():
Application.Quit().