//coroutine to spawn all obstacles in a wave
    //to specify which obstacles from which wave they are going to spawn
    private IEnumerator SpawnAllObstaclesInWave(ObstacleWave waveConfig)
    {
        //loop to spawn multiple obstacles in a wave
        for (int obstacleCount = 1; obstacleCount <= waveConfig.GetNumberOfObstacles(); obstacleCount++)
        {
            var obstacle = Instantiate(waveConfig.GetObstaclePrefab(), waveConfig.GetWayPoints()[0].transform.position, Quaternion.identity);

            obstacle.GetComponent <ObstaclePathing>().SetWaveConfig(waveConfig);

            yield return(new WaitForSeconds(waveConfig.GetTimeBetweenSpawns()));
        }
    }
    private IEnumerator SpawnAllEnemiesInWave(ObstacleWave waveToSpawn)
    {
        for (int enemyCount = 1; enemyCount <= waveToSpawn.GetNumberOfEnemies(); enemyCount++)
        {
            var newEnemy = Instantiate(
                waveToSpawn.GetEnemyPrefab(),
                waveToSpawn.GetWaypoints()[0].transform.position,
                Quaternion.identity);

            newEnemy.GetComponent <EnemyPathing>().SetObstacleWave(waveToSpawn);

            yield return(new WaitForSeconds(waveToSpawn.GetTimeBetweenSpawns()));
        }
    }
Esempio n. 3
0
 public void SetWaveConfig(ObstacleWave waveConfigToBeSet)
 {
     waveConfig = waveConfigToBeSet;
 }
 // Set a wave config
 public void SetObstacleWave(ObstacleWave obstacleWaveToSet)
 {
     obstacleWave = obstacleWaveToSet;
 }