2022-12-05 15:13:42 +01:00
|
|
|
import { Node } from "cc";
|
2022-11-14 16:35:47 +01:00
|
|
|
import { Enemy } from "./Enemy";
|
|
|
|
|
2022-12-05 15:13:42 +01:00
|
|
|
export abstract class EnemyMover {
|
|
|
|
protected targetNode: Node;
|
|
|
|
protected enemies: Enemy[] = [];
|
|
|
|
|
2022-11-14 16:35:47 +01:00
|
|
|
public constructor(targetNode: Node) {
|
|
|
|
this.targetNode = targetNode;
|
|
|
|
}
|
|
|
|
public addEnemy(enemy: Enemy): void {
|
|
|
|
this.enemies.push(enemy);
|
|
|
|
}
|
|
|
|
|
|
|
|
public removeEnemy(enemy: Enemy): void {
|
|
|
|
const index: number = this.enemies.indexOf(enemy);
|
|
|
|
if (index != -1) {
|
|
|
|
this.enemies.splice(index, 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-12-05 15:13:42 +01:00
|
|
|
public abstract gameTick(deltaTime: number): void;
|
2022-11-14 16:35:47 +01:00
|
|
|
}
|