private IEnumerator SpawnAllEnemiesInWave(WaveConfig waveConfig)
 {
     for (int enemyCount = 0; enemyCount < waveConfig.GetEnemyCount(); enemyCount++)
     {
         var newEnemy = Instantiate(waveConfig.GetEnemyPrefab(), waveConfig.GetWayPoints()[0].transform.position, Quaternion.identity);
         newEnemy.GetComponent <EnemyPath>().SetWaveConfig(waveConfig);
         yield return(new WaitForSeconds(waveConfig.GetTimeBetweenSpawns()));
     }
 }
示例#2
0
 private IEnumerator SpawnEnemiesWave(WaveConfig waveConfig)
 {
     for (int enemyCount = 0; enemyCount < waveConfig.GetEnemyCount(); enemyCount++)
     {
         var newEnemy = Instantiate(waveConfig.GetEnemyPrefab(), waveConfig.GetWaypoints()[0].transform.position, Quaternion.identity);
         newEnemy.GetComponent <Pathing>().SetWaveConfig(waveConfig);
         yield return(new WaitForSeconds(waveConfig.GetSpawnInterval()));
     }
 }
示例#3
0
 IEnumerator EnemyPathing(WaveConfig waveConfig)
 {
     for (int i = 0; i < waveConfig.GetEnemyCount(); i++)
     {
         var transforms = waveConfig.GetPaths();
         var enemy      = Instantiate(waveConfig.GetEnemy(), transforms[0].position, Quaternion.identity);
         enemy.GetComponent <EnemyPathing>().SetWaveConfig(waveConfig);
         yield return(new WaitForSeconds(waveConfig.GetBuildTime()));
     }
 }
    IEnumerator CorotSpawnWave(WaveConfig w)
    {
        for (int n = 0; n != w.GetEnemyCount(); n++)
        {
            yield return(new WaitForSeconds(w.GetSpawnInterval()));

            GameObject gobj = Instantiate(w.GetEnemyPrefab()) as GameObject;
            gobj.GetComponent <EnemyPathing>().SetWaveConfig(w);
            gobj.GetComponent <Enemy>().SetEnemySpawner(this);
        }
    }
示例#5
0
 private IEnumerator SpawnAllEnemiesInWave(WaveConfig waveConfig)
 {
     for (int i = 0; i < waveConfig.GetEnemyCount(); i++)
     {
         GameObject enemy = Instantiate(
             waveConfig.GetEnemyPrefab(),
             waveConfig.GetWaypoints()[0].transform.position,
             Quaternion.identity);
         enemy.GetComponent <EnemyPath>().SetWaveConfig(waveConfig);
         yield return(new WaitForSeconds(waveConfig.GetSpawnWaitTime()));
     }
 }
示例#6
0
 private IEnumerator SpawnAllEnemiesInWave(WaveConfig waveConfig)
 {
     for (int i = 0; i < waveConfig.GetEnemyCount(); i++)
     {
         var spawned = Instantiate(
             waveConfig.GetEnemy(),
             waveConfig.GetWaypoints()[0].transform.position,
             Quaternion.identity
             );
         spawned.GetComponent <EnemyPathing>().SetWaveConfig(waveConfig);
         yield return(new WaitForSeconds(waveConfig.GetSpawnTime()));
     }
 }
示例#7
0
    private IEnumerator SpawnAllEnemiesInWave(WaveConfig wc)
    {
        GameObject enemyPrefab = wc.GetEnemy();

        enemyPrefab.GetComponent <Enemy>()
        .SetEnemyParams(wc.GetHP(), wc.GetMinFireRate(), wc.GetMaxFireRate(), wc.GetWayPoint(), wc.GetMoveSpeed());
        for (int i = 0; i < wc.GetEnemyCount(); i++)
        {
            GameObject enemy = Instantiate(enemyPrefab, enemyPrefab.transform.position, Quaternion.identity);

            yield return(new WaitForSeconds(wc.GetSpawnTime()));
        }
    }
示例#8
0
    private IEnumerator SpawnAllEnemiesInWave(WaveConfig waveConfig)
    {
        var waypoints = waveConfig.GetWaypoints();

        for (int i = 0; i < waveConfig.GetEnemyCount(); i++)
        {
            // vertical flip enemies
            var rotationVector = new Vector3(0, 0, 180);
            var enemy          = Instantiate(
                waveConfig.GetEnemyPrefab(),
                waveConfig.GetWaypoints()[0].transform.position,
                Quaternion.Euler(rotationVector)
                );

            enemy.GetComponent <EnemyPathing>().SetWaveConfig(waveConfig);
            yield return(new WaitForSeconds(waveConfig.GetTimeBetweenSpawns()));
        }
    }