import { randomUUID } from "node:crypto"; import { TObjectValues } from "../types"; import { AGE, YIELD } from "../constants"; import { BaseNode } from "./BaseNode"; export type TAdjacencyYieldChangeNode = Pick; export class AdjacencyYieldChangeNode extends BaseNode { id: string = randomUUID(); age: TObjectValues | null = null; yieldType: TObjectValues | null = YIELD.FOOD; yieldChange: number | null = 1; adjacentBiome : string | null = null; adjacentConstructible : string | null = null; adjacentConstructibleTag : string | null = null; adjacentDistrict : string | null = null; adjacentFeature : string | null = null; adjacentFeatureClass : string | null = null; adjacentLake : boolean | null = null; adjacentNaturalWonder : boolean | null = null; adjacentNavigableRiver : boolean | null = null; adjacentQuarter : boolean | null = null; adjacentResource : boolean | null = null; adjacentResourceClass : string | null = null; adjacentRiver : boolean | null = null; adjacentSeaResource : boolean | null = null; adjacentTerrain : string | null = null; adjacentUniqueQuarter : boolean | null = null; adjacentUniqueQuarterType : string | null = null; projectMaxYield : boolean | null = null; self : boolean | null = null; tilesRequired : number | null = null; constructor(payload: Partial = {}) { super(); this.fill(payload); } }