UNPKG

@civ-clone/core-civilization

Version:
42 lines (32 loc) 817 B
import { DataObject, IDataObject, } from '@civ-clone/core-data-object/DataObject'; import Civilization from './Civilization'; export interface IAttribute extends IDataObject { civilization(): typeof Civilization; name(): string; value(): any; } export class Attribute extends DataObject implements IAttribute { #civilization: typeof Civilization; #name: string; #value: any; constructor(CivilizationType: typeof Civilization, name: string, value: any) { super(); this.#civilization = CivilizationType; this.#name = name; this.#value = value; this.addKey('name', 'value'); } civilization(): typeof Civilization { return this.#civilization; } name(): string { return this.#name; } value(): any { return this.#value; } } export default Attribute;