UNPKG

tsc-game

Version:
34 lines (27 loc) 843 B
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; } }