/// <summary> /// エリアの難易度を上げる /// </summary> private void AreaLevelUp() { switch (currentAreaLevel) { case AREA_LEVEL.EASY: currentAreaLevel = AREA_LEVEL.NORAML; skyboxController.ChangeSkyColor(normalSkyColor); player.ChangeEffectColor(normalSkyColor); break; case AREA_LEVEL.NORAML: currentAreaLevel = AREA_LEVEL.HARD; skyboxController.ChangeSkyColor(hardSkyColor); player.ChangeEffectColor(hardSkyColor); break; case AREA_LEVEL.HARD: currentAreaLevel = AREA_LEVEL.HARD; skyboxController.ChangeSkyColor(hardSkyColor); player.ChangeEffectColor(hardSkyColor); break; default: currentAreaLevel = AREA_LEVEL.EASY; skyboxController.ChangeSkyColor(easySkyColor); player.ChangeEffectColor(easySkyColor); break; } }
/// <summary> /// エリア初期化 /// スタートエリアに設定した数のエリアを作成して連結 /// </summary> public void Initialize() { currentLevelChangeAreaCount = 0; currentAreaLevel = AREA_LEVEL.EASY; skyboxController.ChangeSkyColor(easySkyColor); // スタートエリア初期化 startArea.Initialize(); // エリアを作成 for (int i = 0; i < maxAreaCount; ++i) { AddArea(); } // エリア一つ目の入り口判定は無効化する // ※プレイヤーが侵入したときに2つ目以降の // エリアから判定させたいため。 areaList[0].DisableEntrance(); }
/// <summary> /// エリアオブジェクト作成 /// </summary> /// <returns>Areaコンポーネント</returns> private Area CreateArea(AREA_LEVEL level) { int index = 0; Area area; switch (level) { case AREA_LEVEL.EASY: index = Random.Range(0, easyAreaPrefabs.Count); area = Instantiate(easyAreaPrefabs[index]).GetComponent <Area>(); //index = Random.Range(0, normalAreaPrefabs.Count); //area = Instantiate(normalAreaPrefabs[index]).GetComponent<Area>(); //index = Random.Range(0, hardAreaPrefabs.Count); //area = Instantiate(hardAreaPrefabs[index]).GetComponent<Area>(); break; case AREA_LEVEL.NORAML: index = Random.Range(0, normalAreaPrefabs.Count); area = Instantiate(normalAreaPrefabs[index]).GetComponent <Area>(); break; case AREA_LEVEL.HARD: index = Random.Range(0, hardAreaPrefabs.Count); area = Instantiate(hardAreaPrefabs[index]).GetComponent <Area>(); break; default: index = Random.Range(0, easyAreaPrefabs.Count); area = Instantiate(easyAreaPrefabs[index]).GetComponent <Area>(); break; } return(area); }