private IEnumerator SpawnEnemies(WaveConfig waveConfig) { for (int i = 0; i < waveConfig.GetEnemyNumber(); i++) { GameObject enemy = Instantiate(waveConfig.GetEnemyPrefab(), waveConfig.GetWaypoints()[0].transform.position, Quaternion.identity); enemy.transform.parent = _root.transform; enemy.GetComponent <EnemyPath>().SetWaveConfiguration(waveConfig); yield return(new WaitForSeconds(waveConfig.GetSpawnInterval())); } }
private IEnumerator SpawnAllEnemiesInWave(WaveConfig waveConfig) { for (int enemyCount = 0; enemyCount < waveConfig.GetEnemyNumber(); enemyCount++) { //each enemy created will be stored to new enemy var newEnemy = Instantiate( waveConfig.GetEnemyPrefab(), waveConfig.GetWaypoints()[0].transform.position, Quaternion.identity); //pass in the waveconfig in this script to EnemyPathing newEnemy.GetComponent <EnemyPathing>().SetWaveConfig(waveConfig); yield return(new WaitForSeconds(waveConfig.GetTimeBtwnSpawns())); } }
private IEnumerator SpawnAllEnemies(WaveConfig waveConfig) { int numberOfEnemy = waveConfig.GetEnemyNumber(); for (int enemyCount = 1; enemyCount <= numberOfEnemy; enemyCount++) { var enemy = Instantiate( waveConfig.GetEnemyPrefab(), waveConfig.GetWaypoints()[0].transform.position, Quaternion.identity ); enemy.GetComponent <EnemyPathing>().SetWaveConfig(waveConfig); yield return(new WaitForSeconds(Random.Range(waveConfig.GetSpawnInterval(), waveConfig.GetRandomer()))); } }