コード例 #1
0
    void Start()
    {
        GameManager.gameScene = GameScene.Prologue;
        HUDManager.instance.SetCamera(Camera.main);
        PauseMenu.instance.SetCamera(GameCamera.UI);

        Player.IsMovable      = false;
        Player.IsArmed        = false;
        playerLight.spotAngle = LIGHT_ANGLE;
        playerLight.intensity = 0f;
        AudioListener.volume  = 0f;

        viewCheck0.SetActive(false);
        viewCheck1.SetActive(false);
        soundCheck0.SetActive(false);
        soundCheck1.SetActive(false);
        weaponCheck.SetActive(false);
        finalCheck.SetActive(false);

        Curtain.instance.ChangeColor(2f, Curtain.black, Curtain.black_clear);
        StartCoroutine(IntroPhase());
    }
コード例 #2
0
ファイル: Ch4Scene.cs プロジェクト: youxin123/NieR-Rebirth
    void Start()
    {
        IsSceneOver           = false;
        GameManager.gameScene = GameScene.Ch4;
        GameManager.SetLastPlayProgress(GameProgress.HackCh4);
        HUDManager.instance.SetCamera(Camera.main);
        PauseMenu.instance.SetCamera(GameCamera.UI);

        Player.IsMovable = true;
        Player.IsArmed   = true;

        Curtain.instance.ChangeColor(2f, Curtain.black, Curtain.black_clear);
        if (!SoundManager.instance.IsPlaying)
        {
            currentBgm = isFinalEntered ? 1 : 0;
            SoundManager.instance.PlayBgm(bgms[currentBgm], 2f);
        }

        IsInBattle       = false;
        isInRecoverPhase = false;
        isInFinalPhase   = false;
        checkedCount     = 0;
        enemyBoss.SetActive(false);

        if (restartCount == 0)
        {
            StartCoroutine(StartPhase());
        }
        else
        {
            if (isFinalEntered)
            {
                bridge.Close();
                Destroy(enterTrigger.gameObject);
                foreach (CubeGroup cubeGroup in cubeGroups)
                {
                    Destroy(cubeGroup.gameObject);
                }
                foreach (EnemyGroup enemyGroup in enemyGroups)
                {
                    Destroy(enemyGroup.gameObject);
                }
                foreach (InteractivePoint checkPoint in checkPoints)
                {
                    Destroy(checkPoint.gameObject);
                }
                Destroy(enemyBoss.gameObject);

                finalTrigger.SetActive(true);
                finalCheck.SetActive(true);
                finalCheck.Progress = lastProgress;

                Vector3 position = finalCheck.transform.position;
                position.z -= 5f;
                Player.instance.transform.position = position;
                Camera.main.ImmediateTrack();

                if (wingCount >= 1)
                {
                    Message[] supports = Message.GetMessages(supportMessage);
                    Message   message  = wingCount <= 4 ? supports[wingCount - 1] :
                                         supports[Random.Range(4, supports.Length)];
                    HUDManager.instance.ShowMessage(message);
                    Player.instance.SetWingmen(Mathf.Min(4, wingCount));
                }
            }
            else
            {
                bridge.Open(false);
                for (int i = 0; i < 4; i++)
                {
                    checkPoints[i].Progress = checkedProgresses[i];
                }
            }
        }
    }