Example #1
0
    IEnumerator bossFightGameLoop()
    {
        endMeteorSetPiece(false);
        startShootingSetPiece();
        yield return(new WaitUntil(() => bulletStreakCounter.consecutiveBulletsDestroyed == 3));

        endShootingSetPiece();

        demonAnimationManager.meteorBeginningAnim();
        yield return(new WaitUntil(() => meteorDestroyed));

        if (lastDestructionMode == meteorDestroyer.metoerDestructionModes.successful)
        {
            endMeteorSetPiece(false);
            damageManager.enableDamage();
            playerBulletLauncher.enableShooting();
            float waitTime = Time.time + 10;
            yield return(new WaitUntil(() => damageManager.isDead || Time.time >= waitTime));

            if (!damageManager.isDead)
            {
                damageManager.disableDamage();
                startShootingSetPiece();
            }
        }
        else
        {
            endMeteorSetPiece();
            startShootingSetPiece();
        }
    }