public void StartCurrentWave() { if (CurrentWave != null) { EnemySpawner.ClearSpawnCoroutines(); float spawnStartDelay = 0.0f; AlienStageWaveSettings[] alienStageWaveSettings = CurrentWave.GetAlienStageSettings(); for (int i = 0; i < alienStageWaveSettings.Length; i++) { spawnStartDelay += alienStageWaveSettings[i].SpawnStartDelay; EnemySpawner.SpawnAlienEnemies(alienStageWaveSettings[i], HandleNewAlienCreated, spawnStartDelay); spawnStartDelay += alienStageWaveSettings[i].AlienSpawnDelay * alienStageWaveSettings[i].AlienCount; } } }