@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
31 lines • 1.13 kB
TypeScript
/**
* Child - Base class for embedded objects like abilities, talents, upgrades
* These don't have their own files but live inside entities
*/
import { Universal } from "./universal.js";
/**
* Child class for embedded content that needs parent context
* Usage: new SomeChild("Name", parentId, (child) => { child.description = "..."; })
*/
export declare abstract class Child extends Universal {
_parentId?: string | (() => string);
_parentUUID?: string | (() => string);
_uuid?: string;
get parentId(): string;
protected set parentId(value: string | (() => string));
get parentUUID(): string;
set parentUUID(value: string | (() => string));
/** Auto-generated slug from name */
get slug(): string;
/** Auto-generated ID from parent ID + type + slug */
get id(): string;
/**
* Auto-generated hierarchical UUID from parent UUID + child path
* Format: {parentUuid}:{childPathSuffix}
*/
get uuid(): string;
set uuid(value: string);
/** JSON.stringify() calls this automatically */
toJSON(): Record<string, any>;
}
//# sourceMappingURL=child.d.ts.map