import { TObjectValues } from "../types"; import { AGE, CONSTRUCTIBLE_CLASS } from "../constants"; import { BaseNode } from "./BaseNode"; export type TConstructibleNode = Pick; export class ConstructibleNode extends BaseNode { constructibleClass: TObjectValues = CONSTRUCTIBLE_CLASS.BUILDING; constructibleType: string | null = 'BUILDING_'; cost: number = 1; name: string | null = 'test'; population: number = 1; adjacentDistrict: string | null = null; adjacentLake: boolean | null = null; adjacentRiver: boolean | null = null; adjacentTerrain: string | null = null; age: TObjectValues | null = null; archaeology: boolean | null = null; canBeHidden: boolean | null = null; costProgressionModel: string | null = null; costProgressionParam1: number | null = null; defense: number | null = null; description: string | null = null; discovery: boolean | null = null; districtDefense: boolean | null = null; existingDistrictOnly: boolean | null = null; immuneDamage: boolean | null = null; inRailNetwork: boolean | null = null; militaryDomain: string | null = null; noFeature: boolean | null = null; noRiver: boolean | null = null; productionBoostOverRoute: number | null = null; repairable: boolean | null = null; requiresAppealPlacement: boolean | null = null; requiresDistantLands: boolean | null = null; requiresHomeland: boolean | null = null; requiresUnlock: boolean | null = null; riverPlacement: string | null = null; tooltip: string | null = null; victoryItem: boolean | null = null; constructor(payload: Partial = {}) { super(); this.fill(payload); } }