Exemplo n.º 1
0
    private void SpawnWave()
    {
        switch (currentWave)
        {
        case -1:
            handler.GetMessage("Mom", "Are you playing that stupid game!?");
            YesIcon.sprite = Apple;
            NoIcon.sprite  = orbIcon;
            YesIcon.transform.localScale = unitScale * appleScale;
            NoIcon.transform.localScale  = unitScale * orbScale;
            handler.visible = true;
            break;

        case 0:
            EnemyBehavior[] enemies = FindObjectsOfType <EnemyBehavior>();
            int             count   = 0;
            for (int i = 0; i < enemies.Length; i++)
            {
                if (enemies[i].transform.CompareTag("WaitingToSpawn") && enemies[i].enemyType == 0)
                {
                    spawnPos = new Vector3(Random.Range(-8f, -8f + spawnRange0.x), Random.Range(10f, 10f + spawnRange0.y), 1.8f);
                    enemies[i].transform.tag      = "AliveEnemy";
                    enemies[i].spawnRange         = spawnRange0;
                    enemies[i].transform.position = spawnPos;
                    enemies[i].speed = enemyMod.enemy0Speed;
                    enemies[i].hp    = enemyMod.enemy0HP;
                    count++;
                    SetEnemySound(firstGuyDeathSound, enemies[i]);
                }
                if (count == enemyCountWave0)
                {
                    break;
                }
            }
            break;

        case 1:
            handler.GetMessage("Mom", "Do the dishes");
            YesIcon.sprite = BoomerIcon;
            NoIcon.sprite  = Wet;
            YesIcon.transform.localScale = unitScale * boomerScale;
            NoIcon.transform.localScale  = unitScale * wetScale;
            handler.visible = true;
            break;

        case 2:
            enemies = FindObjectsOfType <EnemyBehavior>();
            count   = 0;
            for (int i = 0; i < enemies.Length; i++)
            {
                if (enemies[i].transform.CompareTag("WaitingToSpawn") && enemies[i].enemyType == 1)
                {
                    spawnPos = new Vector3(Random.Range(-8f, -8f + spawnRange0.x), Random.Range(10f, 10f + spawnRange0.y), 1.8f);
                    enemies[i].transform.tag      = "AliveEnemy";
                    enemies[i].spawnRange         = spawnRange0;
                    enemies[i].transform.position = spawnPos;
                    enemies[i].speed            = enemyMod.Enemy1Speed;
                    enemies[i].shootProbability = enemyMod.Enemy1ShootProbability;
                    enemies[i].hp = enemyMod.Enemy1HP;

                    if (!answer)
                    {
                        enemies[i].GetComponent <SpriteRenderer>().sprite = dishSprite;
                        SetEnemySound(dishyDeathSound, enemies[i]);
                    }
                    else
                    {
                        SetEnemySound(firstGuyDeathSound, enemies[i]);
                    }
                    count++;
                }
                if (count == enemyCountWave2)
                {
                    break;
                }
            }
            if (!answer)
            {
                bullets = FindObjectsOfType <Projectile>();
                for (int i = 0; i < bullets.Length; i++)
                {
                    if (bullets[i].speed < 0f)
                    {
                        bullets[i].GetComponent <SpriteRenderer>().sprite = forkSprite;
                    }
                }
            }
            break;

        case 3:
            handler.GetMessage("Mom", "Pick up brother");
            YesIcon.sprite = Twin;
            NoIcon.sprite  = HomingIcon;
            YesIcon.transform.localScale = unitScale * twinScale;
            NoIcon.transform.localScale  = unitScale * homingScale;
            handler.visible = true;
            break;

        case 4:
            enemies = FindObjectsOfType <EnemyBehavior>();
            count   = 0;
            for (int i = 0; i < enemies.Length; i++)
            {
                if (enemies[i].transform.CompareTag("WaitingToSpawn") && enemies[i].enemyType == 1)
                {
                    spawnPos = new Vector3(Random.Range(-8f, -8f + spawnRange0.x), Random.Range(10f, 10f + spawnRange0.y), 1.8f);
                    enemies[i].transform.tag      = "AliveEnemy";
                    enemies[i].spawnRange         = spawnRange0;
                    enemies[i].transform.position = spawnPos;
                    enemies[i].speed            = enemyMod.Enemy2Speed;
                    enemies[i].shootProbability = enemyMod.Enemy2ShootProbability;
                    enemies[i].hp = enemyMod.Enemy2HP;

                    if (answer)
                    {
                        enemies[i].GetComponent <SpriteRenderer>().sprite = EnemyCalamari;
                        SetEnemySound(firstGuyDeathSound, enemies[i]);
                    }
                    else
                    {
                        enemies[i].GetComponent <SpriteRenderer>().sprite = EnemyUmbrella;
                        SetEnemySound(umbrellaDeathSound, enemies[i]);
                    }
                    count++;
                }
                if (count == enemyCountWave4)
                {
                    break;
                }
            }
            if (!answer)
            {
                bullets = FindObjectsOfType <Projectile>();
                for (int i = 0; i < bullets.Length; i++)
                {
                    if (bullets[i].speed < 0f)
                    {
                        bullets[i].GetComponent <SpriteRenderer>().sprite = waterDropSprite;
                    }
                }
            }
            break;

        case 5:
            handler.GetMessage("Mom", "Take the dog to the vet");
            YesIcon.sprite = StarIcon;
            NoIcon.sprite  = Triple;
            YesIcon.transform.localScale = unitScale * starScale;
            NoIcon.transform.localScale  = unitScale * tripleScale;
            handler.visible = true;
            break;

        case 6:
            enemies = FindObjectsOfType <EnemyBehavior>();
            count   = 0;
            for (int i = 0; i < enemies.Length; i++)
            {
                if (enemies[i].transform.CompareTag("WaitingToSpawn") && enemies[i].enemyType == 1)
                {
                    spawnPos = new Vector3(Random.Range(-8f, -8f + spawnRange0.x), Random.Range(10f, 10f + spawnRange0.y), 1.8f);
                    enemies[i].transform.tag      = "AliveEnemy";
                    enemies[i].spawnRange         = spawnRange0;
                    enemies[i].transform.position = spawnPos;
                    enemies[i].speed            = enemyMod.Enemy3Speed;
                    enemies[i].shootProbability = enemyMod.Enemy3ShootProbability;
                    enemies[i].hp = enemyMod.Enemy3HP;
                    if (answer)
                    {
                        enemies[i].GetComponent <SpriteRenderer>().sprite = EnemyRay;
                        SetEnemySound(firstGuyDeathSound, enemies[i]);
                    }
                    else
                    {
                        enemies[i].GetComponent <SpriteRenderer>().sprite = EnemySyringe;
                        SetEnemySound(syringeDeathSound, enemies[i]);
                    }
                    count++;
                }
                if (count == enemyCountWave6)
                {
                    break;
                }
            }
            if (!answer)
            {
                /* bullets = FindObjectsOfType<Projectile>();
                 * for (int i = 0; i < bullets.Length; i++)
                 * {
                 *   if (bullets[i].speed < 0f)
                 *   {
                 *       bullets[i].GetComponent<SpriteRenderer>().sprite = ;
                 *   }
                 * }*/
            }
            break;

        case 7:

            handler.GetMessage("Mom", "Attend your Uncle's funeral");
            YesIcon.sprite = Rest;
            NoIcon.sprite  = ArrowIcon;
            YesIcon.transform.localScale = unitScale * restScale;
            NoIcon.transform.localScale  = unitScale * arrowScale;
            handler.visible = true;

            break;

        case 8:
            Boss.Spawn();

            //hack
            if (bossmusic != null & audioSource != null)

            {
                audioSource.clip = bossmusic;
                audioSource.Play();
            }

            bullets = FindObjectsOfType <Projectile>();
            for (int i = 0; i < bullets.Length; i++)
            {
                if (bullets[i].speed < 0f)
                {
                    bullets[i].GetComponent <SpriteRenderer>().sprite = stdEnemyBullet;
                }
            }
            break;

        default:
            break;
        }
        enemiesFound = FindObjectsOfType <EnemyBehavior>();
    }