mirror of
https://github.com/MartinKral/Slash-The-Hordes
synced 2025-09-24 04:39:05 +00:00
Projectile launcher refactoring
This commit is contained in:
@@ -1,5 +1,30 @@
|
||||
import { Vec3, Node, Vec2 } from "cc";
|
||||
import { GameTimer } from "../../../../Services/GameTimer";
|
||||
import { ProjectileLauncher } from "../../Player/ProjectileLauncher/ProjectileLauncher";
|
||||
import { Enemy } from "../Enemy";
|
||||
import { EnemyManager } from "../EnemyManager";
|
||||
|
||||
export class EnemyProjectileLauncher {
|
||||
public constructor(private projectileLauncher: ProjectileLauncher) {}
|
||||
private enemies: Enemy[] = [];
|
||||
private shootTimer: GameTimer = new GameTimer(3);
|
||||
|
||||
public constructor(private playerNode: Node, private projectileLauncher: ProjectileLauncher, enemyManager: EnemyManager) {
|
||||
enemyManager.EnemyAddedEvent.on(this.tryAddEnemy, this);
|
||||
enemyManager.EnemyRemovedEvent.on(this.tryRemoveEnemy, this);
|
||||
}
|
||||
|
||||
private tryAddEnemy(enemy: Enemy): void {
|
||||
if (enemy.Id == "BasicEnemy") {
|
||||
this.enemies.push();
|
||||
}
|
||||
}
|
||||
|
||||
private tryRemoveEnemy(enemy: Enemy): void {
|
||||
if (enemy.Id == "BasicEnemy") {
|
||||
const index = this.enemies.indexOf(enemy);
|
||||
this.enemies.splice(index, 1);
|
||||
}
|
||||
}
|
||||
|
||||
public gameTick(deltaTime: number): void {}
|
||||
}
|
||||
|
Reference in New Issue
Block a user