//Debug Spawn void Update() { if (Input.GetKeyDown(KeyCode.V)) { SpawnEnemies(); } //Remove Dead Ones LastEnemyDied = false; for (int i = aliveEnemies.Count - 1; i >= 0; --i) { IHittable enemy = aliveEnemies[i]; if (enemy.IsDead()) { enemiesKilled++; if (stageListing.IsEndlessMode()) { score.value += enemy.GetScore(); } enemy.PlaySound(enemyKilledSound); aliveEnemies.RemoveAt(i); if (NoEnemiesToSpawn()) { LastEnemyDied = true; } } } //Spawn From Stage Listing if (useStageListing) { if (toBeSpawnedEnemies != null) { if (toBeSpawnedEnemies.Count > 0 && aliveEnemies.Count < maxAlive) { if (!stageListing.IsEndlessMode()) { //Regular Spawning SpawnEnemy(toBeSpawnedEnemies[toBeSpawnedEnemies.Count - 1]); toBeSpawnedEnemies.RemoveAt(toBeSpawnedEnemies.Count - 1); } else { //Endless Spawning SpawnEnemy(toBeSpawnedEnemies[Random.Range(0, toBeSpawnedEnemies.Count)]); } } } } }