/// <summary> /// Spawns all the enemies of a wave /// </summary> /// <param name="waveToSpawn">Wave to spawn.</param> IEnumerator SpawnWave(EnemyCreatorScript.Wave waveToSpawn, float _timeToSpawn) { yield return(new WaitForSeconds(_timeToSpawn)); wavesText.text = waveToSpawn.waveNumber + "/" + currentLevel.numberOfWaves; enemiesText.text = totalLevelEnemies.ToString(); foreach (EnemyCreatorScript.Enemy enemy in waveToSpawn.enemies) { Debug.Log("Enemy: " + enemy.timeOfSpawn.ToString()); StartCoroutine(SpawnEnemy(enemy.timeOfSpawn, enemy.enemyType)); } Debug.Log(currentWave.enemies[currentWave.enemies.Count - 1].timeOfSpawn.ToString()); }
/// <summary> /// Spawns the level. /// </summary> /// <param name="levelToSpawn">Current level.</param> public void SpawnLevel(EnemyCreatorScript.Level levelToSpawn) { float waveTime = 0; for (int i = 1; i <= levelToSpawn.numberOfWaves; i++) { currentWave = levelToSpawn.FindWave(i); totalLevelEnemies += currentWave.enemies.Count; Debug.Log("Wave: " + currentWave.waveNumber); StartCoroutine(SpawnWave(currentWave, waveTime)); waveTime += currentWave.enemies [currentWave.enemies.Count - 1].timeOfSpawn + 10.0f; } }