コード例 #1
0
    /// <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);
    }
コード例 #2
0
    /// <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);
    }
コード例 #3
0
    /// <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);
    }