mirror of
https://github.com/MartinKral/Slash-The-Hordes
synced 2026-02-14 12:22:42 +00:00
Spawner settings
This commit is contained in:
@@ -24,22 +24,26 @@ export class EnemyManager extends Component {
|
||||
|
||||
private spawners: DelayedEnemySpawner[] = [];
|
||||
|
||||
private individualEnemySpawner: IndividualEnemySpawner;
|
||||
private circularEnemySpawner: CircularEnemySpawner;
|
||||
|
||||
public init(targetNode: Node, settings: EnemyManagerSettings): void {
|
||||
this.enemySpawner.init(targetNode, settings.enemies);
|
||||
this.enemySpawner.EnemyAddedEvent.on(this.onEnemyAdded, this);
|
||||
this.enemySpawner.enemyRemovedEvent.on(this.onRemoveEnemy, this);
|
||||
|
||||
for (const individualSpawnerSettings of settings.individualEnemySpawners) {
|
||||
const individualSpawner = new IndividualEnemySpawner(this.enemySpawner, individualSpawnerSettings);
|
||||
this.spawners.push(individualSpawner);
|
||||
}
|
||||
|
||||
for (const circularSpawnerSettings of settings.circularEnemySpawners) {
|
||||
const circularSpawner = new CircularEnemySpawner(this.enemySpawner, circularSpawnerSettings);
|
||||
this.spawners.push(circularSpawner);
|
||||
}
|
||||
|
||||
for (const waveSpawnerSettings of settings.waveEnemySpawners) {
|
||||
const waveSpawner = new WaveEnemySpawner(this.enemySpawner, waveSpawnerSettings);
|
||||
this.spawners.push(waveSpawner);
|
||||
}
|
||||
|
||||
this.individualEnemySpawner = new IndividualEnemySpawner(this.enemySpawner, "Basic", 0);
|
||||
this.circularEnemySpawner = new CircularEnemySpawner(this.enemySpawner, 30, "Basic", 5);
|
||||
|
||||
this.movementTypeToMover.set(EnemyMovementType.Follow, new FollowTargetEnemyMover(targetNode));
|
||||
this.movementTypeToMover.set(EnemyMovementType.Launch, new WaveEnemyMover(targetNode));
|
||||
this.movementTypeToMover.set(EnemyMovementType.PeriodicFollow, new PeriodicFollowTargetEnemyMover(targetNode, 5, 5));
|
||||
@@ -48,9 +52,6 @@ export class EnemyManager extends Component {
|
||||
}
|
||||
|
||||
public gameTick(deltaTime: number): void {
|
||||
this.individualEnemySpawner.gameTick(deltaTime);
|
||||
this.circularEnemySpawner.gameTick(deltaTime);
|
||||
|
||||
for (const spawner of this.spawners) {
|
||||
spawner.gameTick(deltaTime);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user