Пример #1
0
    private IEnumerator SpawnAllEnemiesInWave(WaveConfig waveConfig)
    {
        for (int enemyCount = 0; enemyCount < waveConfig.GetNumberOfEnemies(); enemyCount++)
        {
            var newEnemy = Instantiate(
                waveConfig.GetEnemyPrefab(),
                waveConfig.GetWayPoints()[0].transform.position,
                Quaternion.identity);
            gameSessionScript.AddEnemies();
            newEnemy.GetComponent <EnemyPathing>().SetWaveConfig(waveConfig);
            yield return(new WaitForSeconds(waveConfig.GetTimeBetweenSpawns()));

            if ((enemyCount == waveConfig.GetNumberOfEnemies() - 1) && (delayCoroutineUntilAllEnemiesSpawned))
            {
                yield return(new WaitUntil(() => gameSessionScript.ReturnEnemies()
                                           <= gameSessionScript.ReturnDestroyedEnemies()));
            }
        }
    }