Beispiel #1
0
    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);
    }
Beispiel #2
0
    public override void Enter()
    {
        uiMng         = context.GetGameManager().GetUIManager();
        currentUICtrl = uiMng.GetCurrentUIController();

        mainMenuPanel = currentUICtrl.GetMenu <UIMenu_MainMenu>();
        currentUICtrl.SetCurrentMenu <UIMenu_MainMenu>();

        mainMenuPanel.StartButtonPressed += HandleStartButtonPressed;
    }
Beispiel #3
0
    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>();
    }
Beispiel #4
0
    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>();
    }
Beispiel #5
0
    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();
        }
    }