Slash-The-Hordes/assets/Scripts/Game/Unit/Enemy/InvididualEnemySpawner.ts

22 lines
913 B
TypeScript
Raw Normal View History

2022-12-05 12:19:46 +01:00
import { randomRange } from "cc";
import { GameTimer } from "../../../Services/GameTimer";
import { randomPositiveOrNegative } from "../../../Services/Utils/MathUtils";
2022-12-05 15:13:42 +01:00
import { EnemyMovementType } from "./EnemyMovementType";
2022-12-05 12:19:46 +01:00
import { EnemySpawner } from "./EnemySpawner";
import { EnemyType } from "./EnemyType";
export class InvididualEnemySpawner {
private spawnTimer: GameTimer = new GameTimer(1);
2022-12-06 09:15:05 +01:00
public constructor(private enemySpawner: EnemySpawner, private enemyType: EnemyType) {}
2022-12-05 12:19:46 +01:00
public gameTick(deltaTime: number): void {
this.spawnTimer.gameTick(deltaTime);
if (this.spawnTimer.tryFinishPeriod()) {
const posX: number = randomRange(300, 600) * randomPositiveOrNegative();
const posY: number = randomRange(300, 600) * randomPositiveOrNegative();
2022-12-05 15:13:42 +01:00
this.enemySpawner.spawnNewEnemy(posX, posY, EnemyMovementType.Launch);
2022-12-05 12:19:46 +01:00
}
}
}