Exemple #1
0
    //---------------------------------------------------------------

    /*
     *  @brief      リセット処理
     */
    //---------------------------------------------------------------
    private bool OnEasyReset()
    {
        bool ret = false;

        const int RESET_FADEOUTSTART = 0;
        const int RESET_FADEOUTWAIT  = 1;
        const int RESET_FADEINWAIT   = 3;

        VRUIManager uiManager = cameraMngr.FpsCameraObj.GetComponent <VRUIManager>();

        switch (m_subStep)
        {
        // フェードアウト開始
        case RESET_FADEOUTSTART:
            GameSceneManager.Instance.StartFadeOut(24);
            m_subStep = RESET_FADEOUTWAIT;
            break;

        case RESET_FADEOUTWAIT:
            if (!GameSceneManager.Instance.IsFade)
            {
                /*
                 *  ToDo リセット処理
                 */
                playerObj.GetComponent <CharAction>().ResetPosition(true);
                uiManager.ScrGoalUI.StopGoalUI();
                socicalCamRoot.GetComponent <DisplayCameraManager>().OnEasyReset();

                m_bPlayJingleOneShot = false;

                GameSceneManager.Instance.StartFadeIn(24);
                m_subStep = RESET_FADEINWAIT;
            }
            break;

        case RESET_FADEINWAIT:

            if (!GameSceneManager.Instance.IsFade)
            {
                ret = true;
            }

            break;
        }

        return(ret);
    }
Exemple #2
0
    //---------------------------------------------------------------

    /*
     *  @brief      ステージの状態を更新
     */
    //---------------------------------------------------------------
    void UpdateStageState()
    {
        VRUIManager uiManager = cameraMngr.FpsCameraObj.GetComponent <VRUIManager>();

        if (GameSceneManager.Instance.NowLoading)
        {
            return;
        }

        switch (m_state)
        {
        case StageState.STATE_PREPARE:

            if (!m_bPlayJingleOneShot)
            {
                bgmObject.GetComponent <BGMCtrl>().PlayJingle();
                m_bPlayJingleOneShot = true;
            }

            if (m_counterSec >= 3)
            {
                uiManager.ScrCountDown.StartCountDown();
                ChangeState(StageState.STATE_READY);
            }

            break;

        case StageState.STATE_READY:

            if (uiManager.ScrCountDown.LetsBonyage)
            {
                // 最初は自動で吹っ飛ぶ
                playerObj.GetComponent <CharAction>().FirstBlowoff();

                bgmObject.GetComponent <BGMCtrl>().PlayBGM();

                ChangeState(StageState.STATE_INGAME);
            }

            break;

        case StageState.STATE_INGAME:

            if (playerObj.GetComponent <CharAction>().IsGoal)
            {
                bgmObject.GetComponent <BGMCtrl>().StopBGM();
                uiManager.ScrGoalUI.StartGoalUI();

                ChangeState(StageState.STATE_GOAL);
            }
            else if (playerObj.GetComponent <CharAction>().IsGameOver)
            {
                ChangeState(StageState.STATE_GAMEOVER);
            }

            break;

        case StageState.STATE_GOAL:

            // とりあえず10秒ほど経過したら
            if (m_counterSec > 10)
            {
                ChangeState(StageState.STATE_RESET);
            }

            break;

        case StageState.STATE_RESET:

            bool resetDone = OnEasyReset();
            if (resetDone)
            {
                ChangeState(StageState.STATE_PREPARE);
            }
            break;

        default:
            break;
        }
    }