Example #1
0
        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);
        }
Example #2
0
        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()));
            }
        }
Example #3
0
 public void SetEnemyWaveConfig(EnemyWaveConfig enemyWaveConfig)
 {
     this.enemyWaveConfig = enemyWaveConfig;
     waypoints            = enemyWaveConfig.GetWaypoints();
 }