UNPKG

dcl-npc-toolkit-ai-version

Version:

A collection of tools for creating Non-Player-Characters (NPCs). These are capable of having conversations with the player, and play different animations. AI usage is added atop of it

54 lines (53 loc) 1.86 kB
import { OPERATION } from "../spec"; import { Schema } from "../Schema"; import { FilterChildrenCallback } from "../annotations"; import { MapSchema } from "../types/MapSchema"; import { ArraySchema } from "../types/ArraySchema"; import { CollectionSchema } from "../types/CollectionSchema"; import { SetSchema } from "../types/SetSchema"; import { ReferenceTracker } from "./ReferenceTracker"; export type Ref = Schema | ArraySchema | MapSchema | CollectionSchema | SetSchema; export interface ChangeOperation { op: OPERATION; index: number; } export interface FieldCache { beginIndex: number; endIndex: number; } export declare class ChangeTree { ref: Ref; refId: number; root?: ReferenceTracker; parent?: Ref; parentIndex?: number; indexes: { [index: string]: any; }; changed: boolean; changes: Map<number, ChangeOperation>; allChanges: Set<number>; caches: { [field: number]: number[]; }; currentCustomOperation: number; constructor(ref: Ref, parent?: Ref, root?: ReferenceTracker); setParent(parent: Ref, root?: ReferenceTracker, parentIndex?: number): void; operation(op: ChangeOperation): void; change(fieldName: string | number, operation?: OPERATION): void; touch(fieldName: string | number): void; touchParents(): void; getType(index?: number): any; getChildrenFilter(): FilterChildrenCallback; getValue(index: number): any; delete(fieldName: string | number): void; discard(changed?: boolean, discardAll?: boolean): void; /** * Recursively discard all changes from this, and child structures. */ discardAll(): void; cache(field: number, cachedBytes: number[]): void; clone(): ChangeTree; ensureRefId(): void; protected assertValidIndex(index: number, fieldName: string | number): void; }