// Update is called once per frame void Update() { if (this.spawnEnemies && this.timeToSpawn <= Time.time) { EnemyType spawnType = IListExtensions.Pop(this.spawnOrder); if (this.spawnOrder.Count == 0) { this.spawnEnemies = false; } int spawner = 0; switch (spawnType) { case EnemyType.Helicopter: spawner = Random.Range(0, helicopterSpawners.Count); helicopterSpawners[spawner].Spawn(this.helicopter); break; case EnemyType.Person: spawner = Random.Range(0, personSpawners.Count); personSpawners[spawner].Spawn(this.person); break; case EnemyType.Tank: spawner = Random.Range(0, tankSpawners.Count); tankSpawners[spawner].Spawn(this.tank); break; } this.timeToSpawn = Time.time + Random.Range(this.timeBetweenSpawns - this.varationBetweenSpawns, this.timeBetweenSpawns + this.varationBetweenSpawns); } }