private IEnumerator SpawnAllEnemiesInWave(NewWaveConfig waveConfig) { List <EnemyType> EnemyConfig = waveConfig.GetEnemyConfig(); for (int enemyCount = 0; enemyCount < EnemyConfig.Count; enemyCount++) { if (waveConfig.TimeBetweenSpawns[enemyCount] > 0) { yield return(new WaitForSeconds(waveConfig.TimeBetweenSpawns[enemyCount])); } EnemyType enemyType = EnemyConfig[enemyCount]; var newEnemy = Instantiate( enemyType.GetEnemyPrefab(), enemyType.GetWayPoints()[0].transform.position, Quaternion.Euler(0, -90, 0)); if (enemyType.isBoss) { newEnemy.GetComponent <BossPathing>().SetWaveConfig(enemyType); } else { newEnemy.GetComponent <NewEnemyPathing>().SetWaveConfig(enemyType); } } }