/// <summary>
    /// バルーン生成メソッド
    /// </summary>
    /// <returns></returns>
    protected IEnumerator GenerateBallon()
    {
        if (!isFirstGenerateBallon)
        {
            isFirstGenerateBallon = true;
            Debug.Log("ゲームスタート");
            startChecker.SetInitialSpeed();
        }
        //風船MAX時は処理しない
        if (ballons[1] != null)
        {
            yield break;
        }
        isGenerating = true;

        if (ballons[0] == null)
        {
            ballons[0] = Instantiate(ballonPrefab, ballonTran[0]);
            ballons[0].GetComponent <Ballon>().SetUpBallon(this);
        }
        else
        {
            ballons[1] = Instantiate(ballonPrefab, ballonTran[1]);
            ballons[1].GetComponent <Ballon>().SetUpBallon(this);
        }

        //風船生成ディレイ
        yield return(new WaitForSeconds(generateTime));

        isGenerating = false;
    }
Esempio n. 2
0
    /// <summary>
    /// バルーン生成
    /// </summary>
    /// <returns></returns>
    private IEnumerator GenerateBallon()
    {
        // すべての配列の要素にバルーンが存在している場合には、バルーンを生成しない
        if (ballons[1] != null)
        {
            yield break;
        }

        // 生成中状態にする
        isGenerating = true;

        // isFirstGenerateBallon変数の値がfalse = まだバルーンを1回も生成していないなら
        if (isFirstGenerateBallon == false)
        {
            // 初回バルーン生成を行ったと判断し、trueに変更する = 次回以降はバルーンを生成してもこの処理には入らない
            isFirstGenerateBallon = true;

            Debug.Log("初回のバルーン生成");

            // startChecker変数に代入されているStartCheckerスクリプトにアクセスして、SetInitialSpeedメソッドを実行
            startChecker.SetInitialSpeed();
        }

        // 1つめの配列の要素が空なら
        if (ballons[0] == null)
        {
            // 1つ目のバルーン生成を生成して、1番目の配列へ代入
            ballons[0] = Instantiate(ballonPrefab, ballonTrans[0]);
            // ふくらむ
            ballons[0].GetComponent <Ballon>().SetUpBallon(this);
        }
        else
        {
            // 2つ目のバルーン生成を生成して、2番目の配列へ代入
            ballons[1] = Instantiate(ballonPrefab, ballonTrans[1]);
            // ふくらむ
            ballons[1].GetComponent <Ballon>().SetUpBallon(this);
        }

        // 生成時間分待機
        yield return(new WaitForSeconds(generateTime));

        // 生成中状態終了
        isGenerating = false;
    }
Esempio n. 3
0
    /// <summary>
    /// バルーン生成
    /// </summary>
    /// <returns></returns>
    private IEnumerator GenerateBallon()
    {
        //すべての配列の要素にバルーンが存在している場合には、バルーンを生成しない
        if (ballons[1] != null)
        {
            yield break;
        }

        //生成中状態にする
        isGenerating = true;

        //isFirstGenerateBallon変数の値がfalse(初回バルーン未生成)
        if (isFirstGenerateBallon == false)
        {
            //初回バルーンを生成を行ったとし、trueに変更する。
            //(次回以降はバルーンを生成しても、if文の条件を満たさなくなり、この処理には入らない)
            isFirstGenerateBallon = true;

            Debug.Log("初回バルーン生成");

            //startChecker変数に代入されているStartCheckerスクリプトにアクセスして、SetInitialSpeedメソッドを実行する
            startChecker.SetInitialSpeed();
        }

        //1つめの配列の要素が空なら
        if (ballons[0] == null)
        {
            //1つめ目のバルーンを生成して、1番目の配列へ代入
            ballons[0] = Instantiate(ballonPrefab, ballonTrans[0]);

            ballons[0].GetComponent <Ballon>().SetUpBallon(this);
        }
        else
        {
            //2つ目のバルーンを生成して、2番目の配列へ代入
            ballons[1] = Instantiate(ballonPrefab, ballonTrans[1]);
            ballons[1].GetComponent <Ballon>().SetUpBallon(this);
        }

        //生成時間分待機
        yield return(new WaitForSeconds(generateTime));

        //生成中状態終了。再度生成できるようにする
        isGenerating = false;
    }
Esempio n. 4
0
    /// <summary>
    /// バルーン生成
    /// </summary>
    /// <param name="ballonCount">生成するバルーンの数</param>
    /// <param name="waitTime">1つ生成する際の生成にかかる時間</param>
    /// <returns></returns>
    private IEnumerator GenetateBallon(int ballonCount, float waitTime)
    {
        // バルーンの最大値の場合にはバルーンを生成しない
        if (ballonList.Count >= maxBallonCount)
        {
            yield break;
        }

        // 生成中状態にする
        isGenerating = true;
        anim.SetBool("Idel", false);

        anim.SetTrigger("Generate");

        // まだ1回もバルーンを生成していないなら
        if (isFirstGenerateBallon == false)
        {
            // 初回のバルーン生成済にする
            isFirstGenerateBallon = true;

            // StartChecker スクリプトが代入されている startChecker 変数を利用して、SetInitialSpeed メソッドを実行する
            startChecker.SetInitialSpeed();
        }


        for (int i = 0; i < ballonCount; i++)
        {
            Ballon ballon;

            // 1つ目のバルーンの生成位置にバルーンがない場合
            if (ballonTrans[0].childCount == 0)
            {
                // 1つ目のバルーン生成
                ballon = Instantiate(BallonPrefab, ballonTrans[0]);

                // 1つ目のバルーンの生成位置にバルーンがある場合
            }
            else
            {
                // 2つ目のバルーン生成
                ballon = Instantiate(BallonPrefab, ballonTrans[1]);
            }

            //if (ballonList.Count == 0) {
            //    // 1つ目のバルーン生成
            //    ballon = Instantiate(BallonPrefab, ballonTrans[0]);
            //} else {
            //    // 2つ目のバルーン生成
            //    ballon = Instantiate(BallonPrefab, ballonTrans[1]);
            //}

            // バルーンの設定
            ballon.SetUpBallon(this);

            ballonList.Add(ballon);

            yield return(new WaitForSeconds(waitTime));
        }

        // バルーンの数で重力を変化
        ChangeLinearDrag();

        // 生成中状態終了。再度生成できるようにする
        isGenerating = false;

        //anim.SetBool("Idel", true);
    }