/// <summary> /// 敵キャラ生成コルーチン /// </summary> /// <returns></returns> protected override IEnumerator StartGenerat() { // 次のフェイズまでの待機時間 var nextPhase = new WaitForSeconds(3.5f); // 待機時間 var wait = new WaitForSeconds(1); // 連続して生成する回数 var consecutivelyGeneratCount = 3; // 待機 yield return(nextPhase); // 下に生成 GeneratEnemy((int)GeneratSpot.Bottom); yield return(wait); // 左に生成 GeneratEnemy((int)GeneratSpot.Left); yield return(wait); // 上に生成 GeneratEnemy((int)GeneratSpot.Top); yield return(wait); // 右に生成 GeneratEnemy((int)GeneratSpot.Right); // 待機 yield return(nextPhase); // 左に生成 GeneratEnemy((int)GeneratSpot.Left); yield return(wait); // 上に生成 GeneratEnemy((int)GeneratSpot.Top); yield return(wait); // 右に生成 GeneratEnemy((int)GeneratSpot.Right); yield return(wait); // 下に生成 GeneratEnemy((int)GeneratSpot.Bottom); // 待機 yield return(nextPhase); // 下に3体生成 for (int i = 0; i < consecutivelyGeneratCount; i++) { GeneratEnemy((int)GeneratSpot.Bottom); yield return(wait); } // 左に3体生成 for (int i = 0; i < consecutivelyGeneratCount; i++) { GeneratEnemy((int)GeneratSpot.Left); yield return(wait); } // 上に3体生成 for (int i = 0; i < consecutivelyGeneratCount; i++) { GeneratEnemy((int)GeneratSpot.Top); yield return(wait); } // 右に3体生成 for (int i = 0; i < consecutivelyGeneratCount; i++) { GeneratEnemy((int)GeneratSpot.Right); yield return(wait); } // 下に生成 GeneratZigzagEnemy((int)GeneratSpot.Bottom); yield return(wait); // 待機 yield return(nextPhase); // 下に生成 GeneratZigzagEnemy((int)GeneratSpot.Bottom); yield return(wait); // 右に生成 GeneratZigzagEnemy((int)GeneratSpot.Right); yield return(wait); // 上に生成 GeneratZigzagEnemy((int)GeneratSpot.Top); yield return(wait); // 左に生成 GeneratZigzagEnemy((int)GeneratSpot.Left); yield return(wait); // 待機 yield return(nextPhase); // 下に3体生成 for (int i = 0; i < consecutivelyGeneratCount; i++) { GeneratEnemy((int)GeneratSpot.Bottom); yield return(wait); } // 左に生成 GeneratEnemy((int)GeneratSpot.Left); yield return(wait); // 上に生成 GeneratEnemy((int)GeneratSpot.Top); yield return(wait); // 右に生成 GeneratEnemy((int)GeneratSpot.Right); yield return(wait); // 下5体生成 for (int i = 0; i < 5; i++) { GeneratEnemy((int)GeneratSpot.Top); yield return(wait); } // 上に10体生成 for (int i = 0; i < 10; i++) { GeneratZigzagEnemy((int)GeneratSpot.Bottom); yield return(wait); } // 待機 yield return(nextPhase); // 中ボスを有効にする MiddelBoss.GetComponent <SecondMiddleBossController>().enabled = true; // 終了 yield return(null); }
/// <summary> /// 敵キャラ生成コルーチン /// </summary> /// <returns></returns> protected override IEnumerator StartGenerat() { // 次のフェイズまでの待機時間 var nextPhase = new WaitForSeconds(3.5f); // 待機時間 var wait = new WaitForSeconds(1); // 連続して生成する回数 var consecutivelyGeneratCount = 3; // 待機 yield return(nextPhase); // 左下に3体生成 for (int i = 0; i < consecutivelyGeneratCount; i++) { GeneratEnemy((int)GeneratSpot.BottomLeft); yield return(wait); } // 右下に3体生成 for (int i = 0; i < consecutivelyGeneratCount; i++) { GeneratEnemy((int)GeneratSpot.BottomRight); yield return(wait); } // 待機 yield return(nextPhase); // 下に生成 GeneratEnemy((int)GeneratSpot.Bottom); yield return(wait); // 左下に生成 GeneratEnemy((int)GeneratSpot.BottomLeft); yield return(wait); // 左上に生成 GeneratEnemy((int)GeneratSpot.TopLeft); yield return(wait); // 待機 yield return(nextPhase); // 上に生成 GeneratEnemy((int)GeneratSpot.Top); yield return(wait); // 右上に生成 GeneratEnemy((int)GeneratSpot.TopRight); yield return(wait); // 右下に生成 GeneratEnemy((int)GeneratSpot.BottomRight); yield return(wait); // 待機 yield return(nextPhase); // 左上に3体生成 for (int i = 0; i < consecutivelyGeneratCount; i++) { GeneratEnemy((int)GeneratSpot.TopLeft); yield return(wait); } // 上に3体生成 for (int i = 0; i < consecutivelyGeneratCount; i++) { GeneratEnemy((int)GeneratSpot.Top); yield return(wait); } // 待機 yield return(nextPhase); // 右上,右下に生成に生成 GeneratEnemy((int)GeneratSpot.TopRight); GeneratEnemy((int)GeneratSpot.BottomRight); // 待機 yield return(nextPhase); // 左上,左下に生成 GeneratEnemy((int)GeneratSpot.TopLeft); GeneratEnemy((int)GeneratSpot.BottomLeft); // 待機 yield return(nextPhase); // 上、左上、右上に生成 GeneratEnemy((int)GeneratSpot.Top); GeneratEnemy((int)GeneratSpot.TopLeft); GeneratEnemy((int)GeneratSpot.TopRight); yield return(wait); // 待機 yield return(nextPhase); // 下、左下、右下に生成 GeneratEnemy((int)GeneratSpot.Bottom); GeneratEnemy((int)GeneratSpot.BottomLeft); GeneratEnemy((int)GeneratSpot.BottomRight); yield return(wait); // 待機 yield return(nextPhase); // 2週順に敵を生成 GeneratEnemy((int)GeneratSpot.Bottom); yield return(wait); GeneratEnemy((int)GeneratSpot.BottomLeft); yield return(wait); GeneratEnemy((int)GeneratSpot.TopLeft); yield return(wait); GeneratEnemy((int)GeneratSpot.Top); yield return(wait); GeneratEnemy((int)GeneratSpot.TopRight); yield return(wait); GeneratEnemy((int)GeneratSpot.BottomRight); yield return(wait); GeneratEnemy((int)GeneratSpot.Bottom); yield return(wait); GeneratEnemy((int)GeneratSpot.BottomLeft); yield return(wait); GeneratEnemy((int)GeneratSpot.TopLeft); yield return(wait); GeneratEnemy((int)GeneratSpot.Top); yield return(wait); GeneratEnemy((int)GeneratSpot.TopRight); yield return(wait); GeneratEnemy((int)GeneratSpot.BottomRight); yield return(wait); // 下に10体生成 for (int i = 0; i < 10; i++) { GeneratEnemy((int)GeneratSpot.Bottom); yield return(wait); } // 待機 yield return(nextPhase); // 中ボスを有効にする MiddelBoss.GetComponent <FirstMiddleBossController>().enabled = true; // 終了 yield return(null); }
/// <summary> /// 敵キャラ生成コルーチン /// </summary> /// <returns></returns> protected override IEnumerator StartGenerat() { // 次のフェイズまでの待機時間 var nextPhaseWait = new WaitForSeconds(3.5f); // 中ボスフェイズまでの待機時間 var middleBossPhaseWait = new WaitForSeconds(8.0f); // 待機時間 var wait = new WaitForSeconds(1); // 待機 yield return(nextPhaseWait); // 下に生成 GeneratEnemy((int)GeneratSpot.Bottom); yield return(wait); // 左下に生成 GeneratEnemy((int)GeneratSpot.BottomLeft); yield return(wait); // 左に生成 GeneratEnemy((int)GeneratSpot.Left); yield return(wait); // 左下に生成 GeneratEnemy((int)GeneratSpot.BottomLeft); yield return(wait); // 下に生成 GeneratEnemy((int)GeneratSpot.Bottom); yield return(wait); // 右下に生成 GeneratEnemy((int)GeneratSpot.BottomRight); yield return(wait); // 上に生成 GeneratEnemy((int)GeneratSpot.Top); yield return(wait); // 右に生成 GeneratEnemy((int)GeneratSpot.Right); // 待機 yield return(nextPhaseWait); // 上に生成 GeneratAroundEnemy((int)GeneratSpot.Top); yield return(wait); // 左上に生成 GeneratAroundEnemy((int)GeneratSpot.TopLeft); yield return(wait); // 左に生成 GeneratAroundEnemy((int)GeneratSpot.Left); yield return(wait); // 左下に生成 GeneratAroundEnemy((int)GeneratSpot.BottomLeft); yield return(wait); // 待機 yield return(nextPhaseWait); // 下に生成 GeneratZigzagEnemy((int)GeneratSpot.Bottom); yield return(wait); // 左に生成 GeneratZigzagEnemy((int)GeneratSpot.Left); yield return(wait); // 上に生成 GeneratZigzagEnemy((int)GeneratSpot.Top); yield return(wait); // 右に生成 GeneratZigzagEnemy((int)GeneratSpot.Right); yield return(wait); // 待機 yield return(nextPhaseWait); // 右に生成 GeneratAroundEnemy((int)GeneratSpot.Right); yield return(wait); // 左に生成 GeneratAroundEnemy((int)GeneratSpot.TopRight); yield return(wait); // 上に生成 GeneratAroundEnemy((int)GeneratSpot.Top); yield return(wait); // 左上に生成 GeneratAroundEnemy((int)GeneratSpot.TopLeft); yield return(wait); // 待機 yield return(nextPhaseWait); // 上に生成 GeneratEnemy((int)GeneratSpot.Top); yield return(wait); // 左上に生成 GeneratEnemy((int)GeneratSpot.TopLeft); yield return(wait); // 左に生成 GeneratEnemy((int)GeneratSpot.Left); yield return(wait); // 左下に生成 GeneratEnemy((int)GeneratSpot.BottomLeft); yield return(wait); // 下に生成 GeneratEnemy((int)GeneratSpot.Bottom); yield return(wait); // 右下に生成 GeneratEnemy((int)GeneratSpot.BottomRight); yield return(wait); // 右に生成 GeneratEnemy((int)GeneratSpot.Right); yield return(wait); // 右上に生成 GeneratEnemy((int)GeneratSpot.TopRight); yield return(wait); // 上に生成 GeneratEnemy((int)GeneratSpot.Top); yield return(wait); // 待機 yield return(nextPhaseWait); // 下に2体生成 for (int i = 0; i < 2; i++) { GeneratZigzagEnemy((int)GeneratSpot.Bottom); yield return(wait); } // 右に2体生成 for (int i = 0; i < 2; i++) { GeneratZigzagEnemy((int)GeneratSpot.Right); yield return(wait); } // 上に2体生成 for (int i = 0; i < 2; i++) { GeneratZigzagEnemy((int)GeneratSpot.Top); yield return(wait); } // 左に2体生成 for (int i = 0; i < 2; i++) { GeneratZigzagEnemy((int)GeneratSpot.Left); yield return(wait); } // 待機 yield return(nextPhaseWait); // 右下に生成 GeneratAroundEnemy((int)GeneratSpot.BottomRight); // 右に生成 GeneratAroundEnemy((int)GeneratSpot.Right); // 右上に生成 GeneratAroundEnemy((int)GeneratSpot.TopRight); // 上に生成 GeneratAroundEnemy((int)GeneratSpot.Top); // 左上に生成 GeneratAroundEnemy((int)GeneratSpot.TopLeft); // 左に生成 GeneratAroundEnemy((int)GeneratSpot.Left); // 左下に生成 GeneratAroundEnemy((int)GeneratSpot.BottomLeft); // 下に生成 GeneratAroundEnemy((int)GeneratSpot.Bottom); yield return(wait); // 待機 yield return(middleBossPhaseWait); // 中ボスを有効にする MiddelBoss.SetActive(true); MiddelBoss.GetComponent <EnemyController>().enabled = true; // 終了 yield return(null); }