Beispiel #1
0
    private IEnumerator SpawnAllEnemiesInWave(NewWaveConfig waveConfig)
    {
        List <EnemyType> EnemyConfig = waveConfig.GetEnemyConfig();

        for (int enemyCount = 0; enemyCount < EnemyConfig.Count; enemyCount++)
        {
            if (waveConfig.TimeBetweenSpawns[enemyCount] > 0)
            {
                yield return(new WaitForSeconds(waveConfig.TimeBetweenSpawns[enemyCount]));
            }

            EnemyType enemyType = EnemyConfig[enemyCount];
            var       newEnemy  = Instantiate(
                enemyType.GetEnemyPrefab(),
                enemyType.GetWayPoints()[0].transform.position,
                Quaternion.Euler(0, -90, 0));

            if (enemyType.isBoss)
            {
                newEnemy.GetComponent <BossPathing>().SetWaveConfig(enemyType);
            }
            else
            {
                newEnemy.GetComponent <NewEnemyPathing>().SetWaveConfig(enemyType);
            }
        }
    }
Beispiel #2
0
 void Start()
 {
     waypoints          = enemyType.GetWayPoints();
     transform.position = waypoints[waypointIndex].transform.position;
 }