Beispiel #1
0
    void Update()
    {
        // プレイヤーが生きている状態で「P」キーを押下した場合
        if (Input.GetKeyUp(KeyCode.P) && !PlayerController.IsDie)
        {
            // ポーズ状態に変更する
            isPause = !isPause;
            PausePanel.SetActive(isPause);
        }

        // ポーズ状態が変更されていたら、Pause/Resumeを呼び出す。
        if (prevPausing != isPause)
        {
            // 各Generatorのnullチェック
            if (enemyGenerator != null)
            {
                // enemyGeneratorがnull出ない場合

                if (isPause)
                {
                    // 中断
                    enemyGenerator.Stop();
                    Pause();
                }
                else
                {
                    // 再開
                    Resume();
                    enemyGenerator.Restart();
                }
            }
            else if (wallGenerator != null)
            {
                // wallGeneratorがnull出ない場合

                if (isPause)
                {
                    // 中断
                    wallGenerator.Stop();
                    Pause();
                }
                else
                {
                    // 再開
                    Resume();
                    wallGenerator.Restart();
                }
            }
            else
            {
                if (isPause)
                {
                    // 中断
                    Pause();
                }
                else
                {
                    // 再開
                    Resume();
                }
            }
            prevPausing = isPause;
        }
    }