private void HandleOnRetry() { PoolManager.instance.ResetPoolObjects(ObjectTypes.Boss1Bullet); PoolManager.instance.ResetPoolObjects(ObjectTypes.PlayerBullet); UI_Controller currentUiCtrl = uiMng.GetCurrentUIController(); UIMenu_EndGame endGamePanel = currentUiCtrl.GetMenu <UIMenu_EndGame>(); endGamePanel.RetryButtonPressed -= HandleOnRetry; uiMng.SetDefaultController(); uiMng.GetCurrentUIController().SetCurrentMenu <UIMenu_Loading>(); Scene sceneToReload = new Scene(); Scene swarmScene = new Scene(); for (int i = 0; i < SceneManager.sceneCount; i++) { Scene currentScene = SceneManager.GetSceneAt(i); if (currentScene.name == "Swarm") { swarmScene = currentScene; } else { sceneToReload = currentScene; } } SceneManager.SetActiveScene(swarmScene); SceneManager.sceneUnloaded += HandleOnSceneUnloaded; SceneManager.UnloadSceneAsync(sceneToReload); }
public override void Enter() { uiMng = context.GetGameManager().GetUIManager(); currentUICtrl = uiMng.GetCurrentUIController(); mainMenuPanel = currentUICtrl.GetMenu <UIMenu_MainMenu>(); currentUICtrl.SetCurrentMenu <UIMenu_MainMenu>(); mainMenuPanel.StartButtonPressed += HandleStartButtonPressed; }
public override void Enter() { Time.timeScale = 0; uiMng = context.GetGameManager().GetUIManager(); currentUICtrl = uiMng.GetCurrentUIController(); lvlMng = context.GetGameManager().GetLevelManager(); lvlPauseCtrl = lvlMng.GetLevelPauseController(); groupCtrl = lvlMng.GetGroupController(); uiPausePanel = currentUICtrl.GetMenu <UIMenu_Pause>(); gameplayPanel = currentUICtrl.GetMenu <UIMenu_Gameplay>(); lvlPauseCtrl.OnGameUnpause += HandleOnGameUnpause; uiPausePanel.ResumeButtonPressed += HandleOnGameUnpause; uiPausePanel.MainMenuButtonPressed += HandleOnMainMenuButtonPressed; oldGroupStatus = groupCtrl.IsEnabled(); groupCtrl.Enable(false); currentUICtrl.SetCurrentMenu <UIMenu_Pause>(); }
public override void Enter() { gm = context.GetGameManager(); groupCtrl = gm.GetLevelManager().GetGroupController(); uiMng = context.GetGameManager().GetUIManager(); currentUICtrl = uiMng.GetCurrentUIController(); endGamePanel = currentUICtrl.GetMenu <UIMenu_EndGame>(); endGamePanel.RetryButtonPressed += HandleRetryButtonPressed; groupCtrl.Enable(false); currentUICtrl.SetCurrentMenu <UIMenu_EndGame>(); }
private void HandleOnGroupDead() { groupCtrl.Enable(false); PoolManager.instance.ResetPoolObjects(ObjectTypes.Boss1Bullet); PoolManager.instance.ResetPoolObjects(ObjectTypes.PlayerBullet); UI_Controller currentUiCtrl = uiMng.GetCurrentUIController(); UIMenu_EndGame endGamePanel = currentUiCtrl.GetMenu <UIMenu_EndGame>(); if (endGamePanel != null) { endGamePanel.RetryButtonPressed += HandleOnRetry; currentUiCtrl.SetCurrentMenu <UIMenu_EndGame>(); } else { HandleOnRetry(); } }