Пример #1
0
    //popに成功したらtrueを返す
    bool BombPopUp(CharacterArmy _attr)
    {
        int num = GetPopSpaceNum();

        if (num == NONE)
        {
            return(false);
        }
        else
        {
            Vector3 startVec = Vector3.zero;
            if (_attr == CharacterArmy.P2)
            {
                startVec = p2topLeft;
            }
            if (_attr == CharacterArmy.P1)
            {
                startVec = p1topLeft;
            }
            Vector3 popVec = startVec;
            popVec.x += bombWidth * num;
            popVec.y -= Random.Range(0, popMaxHeight);
            BombPop(popVec, num, _attr);
            return(true);
        }
    }
Пример #2
0
    IEnumerator BombUpdate()
    {
        while (true)
        {
            //timerのカウントを進める
            p1CountTimer += Time.deltaTime;
            p2CountTimer += Time.deltaTime;

            //timerが規定のタイムを超えていたら爆弾をポップ。どっちもpopする場合は優先度を変える。
            if (P1CanPop() && P2CanPop() && preBombArmy == CharacterArmy.P1)
            {
                if (P2CanPop())
                {
                    BombPopUp(CharacterArmy.P2);
                    preBombArmy  = CharacterArmy.P2;
                    p2CountTimer = 0;
                }
                if (P1CanPop())
                {
                    BombPopUp(CharacterArmy.P1);
                    preBombArmy  = CharacterArmy.P1;
                    p1CountTimer = 0;
                }
            }
            else
            {
                if (P1CanPop())
                {
                    BombPopUp(CharacterArmy.P1);
                    preBombArmy  = CharacterArmy.P1;
                    p1CountTimer = 0;
                }
                if (P2CanPop())
                {
                    BombPopUp(CharacterArmy.P2);
                    preBombArmy  = CharacterArmy.P2;
                    p2CountTimer = 0;
                }
                //timerが規定のタイムを超えていたら爆弾をポップ
                if (p1CountTimer >= p1Time)
                {
                    BombPopUp(CharacterArmy.P1);
                    p1CountTimer = 0;
                }
                if (p2CountTimer >= p2Time)
                {
                    BombPopUp(CharacterArmy.P2);
                    p2CountTimer = 0;
                }
                yield return(null);
            }
        }
    }
Пример #3
0
    //引数の場所に爆弾をinstansiateし、引数の番号に入れる
    void BombPop(Vector3 _pos, int bombArrayNumber, CharacterArmy _attr)
    {
        Transform p = null;

        if (_attr == CharacterArmy.P1)
        {
            p = Stage1.transform;
            var b = Instantiate(bombPre1, _pos, Quaternion.identity, p);
            bombs[bombArrayNumber] = b;
        }
        if (_attr == CharacterArmy.P2)
        {
            p = Stage2.transform;
            var b = Instantiate(bombPre2, _pos, Quaternion.identity, p);
            bombs[bombArrayNumber] = b;
        }
    }