tsc-game
Version:
34 lines (27 loc) • 843 B
text/typescript
import { GraphNode } from "../../../graph/domain/classes/graph-node";
import { Player } from "../../../player/domain/classes/player";
import { Point } from "../../../primitives/classes/Point";
import { Building, BuildingTyp } from "../models/building.model";
export class GraphBuildingNode extends GraphNode {
public constructor(
id: string,
position: Point,
private readonly _player: Player,
) {
super(id, position)
}
public get player(): Player {
return this._player
}
private _building: Building | null = null;
public hasBuilding(): boolean {
return this._building !== null;
}
public get building(): Building | null {
return this._building;
}
public tryBuild(building: Building) {
if(this._building) throw new Error('already has a building');
this._building = building;
}
}