IEnumerator Start() { logo.SetActive(false); // 背景ロード yield return(EnvSetting.LoadEnvScene(envSceneName)); var envSetting = EnvSetting.Instance; // 開幕カメラ Fade.Open(); logo.SetActive(true); yield return(DescendCamera()); yield return(new WaitForSeconds(1f)); // キャラ走り出す foreach (var r in runners) { StartCoroutine(DemoRun(r, envSetting.demoTraversalPoints)); } // ゲーム開始待ち yield return(new WaitUntil(() => Input.GetKey(KeyCode.Z) || Input.GetMouseButton(0) || Input.GetMouseButton(1))); yield return(Fade.Close()); yield return(SceneManager.LoadSceneAsync("Game")); }
/// <summary> /// ゲームフィールドのロードとオブジェクトのspawn /// </summary> /// <returns></returns> private IEnumerator LoadAndSpawn() { // 背景ロード。何かすでにロード済みならロードしない(テストのためにGameとGameEnv両方シーンがある状態等) if (EnvSetting.Instance == null) { var sceneName = string.IsNullOrEmpty(envSceneName) ? "GameEnv" : envSceneName; yield return(EnvSetting.LoadEnvScene(sceneName)); } var envSetting = EnvSetting.Instance; // プレーヤーspawn var posq = new Queue <Transform>(envSetting.playerPositions.OrderBy(e => Random.value).ToList()); SpawnMyPlayer(posq); SpawnEnemies(posq); // 缶spawner初期化 canSpawner.SetSpawnPositions(envSetting.canPositions); canSpawner.onSpawn.AddListener(OnCanSpawn); // 箱全部spawn boxSpawner.SetSpawnPositions(envSetting.boxPositions); boxSpawner.onSpawn.AddListener(OnBoxSpawn); boxSpawner.SpawnAll(boxPrefab); // 全位置にspawn }