private static void SpawnEnemy(EnemyWaveConfig enemyWaveConfig, EnemyPathing enemyPathing) { var enemy = Instantiate( enemyWaveConfig.EnemyPrefab, enemyWaveConfig.GetWaypoints()[0].position, Quaternion.identity); var enemyComp = enemy.GetComponent <Enemy>(); SetEnemyAttributes(enemyWaveConfig, enemyComp); enemyPathing.AddEnemy(enemy); }
private IEnumerator SpawnEnemiesInWave(EnemyWaveConfig waveConfig) { for (int enemyIndex = 0; enemyIndex < waveConfig.GetNumberOfEnemies(); enemyIndex++) { GameObject enemyInstance = Instantiate(waveConfig.GetEnemyPrefab(), waveConfig.GetWaypoints()[0].transform.position, Quaternion.identity) as GameObject; levelManager.EnemySpawned(); // Set the current wave config on enemy instance enemyInstance.GetComponent <EnemyPath>().SetWaveConfig(waveConfig); yield return(new WaitForSeconds(waveConfig.GetTimeBetweenSpawns())); } }
public void SetEnemyWaveConfig(EnemyWaveConfig enemyWaveConfig) { this.enemyWaveConfig = enemyWaveConfig; waypoints = enemyWaveConfig.GetWaypoints(); }