public void spawnEnemiesAtNextCheckpoint() { currentEnemies = new List <GameObject>(); GameObject checkpointObj = getNextEnemyCheckpoint(); EnemyCheckpoint checkpoint = checkpointObj.GetComponent <EnemyCheckpoint>(); List <Transform> spawns = checkpoint.GetSpawnLocationsAtCheckpoint(); List <GameObject> asleepEnemies = getNonActiveEnemies(); foreach (Transform spawn in spawns) { GameObject enemy = Instantiate(enemies[0]); enemy.GetComponent <EnemyController>().SetupEnemy(spawn); currentEnemies.Add(enemy); asleepEnemies.RemoveAt(0); } enemiesLeft = currentEnemies.Count; }