Ejemplo n.º 1
0
 // Spawn the enemies in the associated wave config
 private IEnumerator SpawnEnemiesInWave(WaveScriptableObject waveConfig)
 {
     for (int enemyCount = 0; enemyCount < waveConfig.GetNumberOfEnemies(); enemyCount++)
     {
         var newEnemy = Instantiate(
             waveConfig.GetEnemyPrefab(),
             waveConfig.GetWaypoints()[0].transform.position,
             Quaternion.identity);
         newEnemy.GetComponent <EnemyController>().SetWaveConfig(waveConfig);
         yield return(new WaitForSeconds(waveConfig.GetEnemySpawnRate()));
     }
 }
Ejemplo n.º 2
0
 public void StartWave()
 {
     if (waveIndex >= 0 && waveIndex < endlessModeWaves.Length)
     {
         friendlySpawns = 0;
         currentWave    = endlessModeWaves[waveIndex];
         int enemiesCount = 0;
         foreach (GroupScriptableObject group in currentWave.Groups)
         {
             enemiesCount += group.walkerPattern.Length * group.patternRepeatTime;
         }
         numberOfEnemiesInWave  = enemiesCount;
         enemiesDeadOrDestroyed = 0;
         waveIndex++;
         groupIndex          = 0;
         timesPaternRepeated = 0;
         patternIndex        = 0;
         waveStarted         = true;
     }
 }
 // Set WaveConfig
 public void SetWaveConfig(WaveScriptableObject waveConfig)
 {
     this.waveConfig = waveConfig;
 }