Ejemplo n.º 1
0
    IEnumerator SpawnWave(Wave wave)
    {
        state = SpawnState.SPAWNING;
        upgradeMenu.DisableUpgradeButton();
        fade.FadeOut();
        CalculateBuffs();

        List <Transform> spawnPoints = new List <Transform>();

        if ((wave.range * 2 + 1) > spawns.Count)
        {
            spawnPoints = spawns;
        }
        else
        {
            for (int i = 1; i <= wave.range; ++i)
            {
                spawnPoints.Add(spawns[spawns.Count - i]);
            }

            for (int i = 0; i <= wave.range; ++i)
            {
                spawnPoints.Add(spawns[i]);
            }
        }

        for (int i = 0; i < wave.count; i++)
        {
            SpawnEnemies(wave.enemy, spawnPoints);
            yield return(new WaitForSeconds(wave.delay));
        }

        state = SpawnState.WAITING;

        yield break;
    }