public void Update() { /* This code will run every frame, you should handle what the menu does in each state * This could include calling update on another manager if necessary, or nothing */ // All states m_Controllers.Update(); if (m_firstFrame) { m_GameManager.Preload_Next_Level(); m_firstFrame = false; } switch (m_State) { case MenuState.Loading: { if (m_GameManager.Current_Scene() == "Menu") { Setup(); SetState(m_StartState); } else { Debug.Log("MenuManager LOADING: Scene [" + m_GameManager.Current_Scene() + "]"); } break; } case MenuState.MainMenu: { // handled by the event manager break; } case MenuState.AboutMenu: { if (m_Controllers.Any_B_Pressed()) { SetState(MenuState.MainMenu); } break; } case MenuState.SettingsMenu: { m_SettingsManager.Update(); if (m_SettingsManager.Close) { SetState(MenuState.MainMenu); } break; } case MenuState.PlayerSelect: { m_PlayerSelectManager.Update(); if (m_PlayerSelectManager.Close) { SetState(MenuState.MainMenu); } else if (m_PlayerSelectManager.Play) { //m_PlayRequested = true; SetState(MenuState.QuickStart); } break; } case MenuState.QuickStart: { m_QuickStartMenu.Update(); if (m_QuickStartMenu.Play) { m_PlayRequested = true; } break; } default: { // THROW ERROR! throw new System.NotImplementedException("State missing in MenuManager.Update()"); } } // All States //re add shortcut when Y pressed to skip menu once refactoring complete }