Esempio n. 1
0
    private void BossMissile()
    {
        if (bossPatternState == BossPatternState.Shuffle)
        {
            bossPatternState = BossPatternState.Selected;
        }


        if (bossPatternState == BossPatternState.Selected)
        {
            bossPatternName  = (BossPatternName)RandomPatternSelect();
            missileSaveStack = Random.Range(missileStackMin, missileStackMax);
            //Debug.Log("Stack is : " + missileSaveStack);


            if (alwaysThisPattern != BossPatternName.StateCount)
            {
                bossPatternName = alwaysThisPattern;
            }


            if (bossPatternName == BossPatternName.Vertical)
            {
                verticalPattern = (VerticalPattern)Random.Range(0, (int)VerticalPattern.StateCount);
            }


            if (bossPatternName == BossPatternName.LineFall)
            {
                speedLF = Random.Range(speedMinLF, speedMaxLF);
                player.InitLineFall(true);
                isLineFallAlive = true;
            }
            else
            {
                player.InitLineFall(false);
            }


            if (bossPatternName == BossPatternName.SlowRailGun)
            {
                speedSRG         = Random.Range(speedMinSRG, speedMaxSRG);
                missileSaveStack = 1;
                isSRGAlive       = true;
            }


            //Debug.Log("Selected : " + bossPatternName);

            bossPatternState = BossPatternState.Launch;
        }


        if (bossPatternState == BossPatternState.Launch)
        {
            ShotMissile();
        }


        if (bossPatternState == BossPatternState.Cooldown)
        {
            cooldownTimerCheck += Time.deltaTime;
            if ((cooldownTimer <= cooldownTimerCheck) && (isLineFallAlive == false || isSRGAlive == false))
            {
                bossPatternState   = BossPatternState.Shuffle;
                cooldownTimerCheck = 0;
            }
        }
    }