Projectile launcher refactoring

This commit is contained in:
Martin
2022-12-20 15:17:57 +01:00
parent 370e960f95
commit 2708c119f3
4 changed files with 81 additions and 59 deletions

View File

@@ -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 {}
}