blueshell
Version:
A Behavior Tree implementation in modern Javascript
36 lines (35 loc) • 1.25 kB
TypeScript
import { EventEmitter } from 'events';
import { BaseNode, BlueshellState } from '../models';
export declare class DuplicateNodeAdded extends Error {
constructor(path: string);
}
export declare class APIFunctionNotFound extends Error {
constructor(apiFunction: string);
}
export interface INodeManager<S extends BlueshellState, E> {
runServer(): void;
shutdown(): Promise<void>;
addNode(node: BaseNode<S, E>): void;
removeNode(node: BaseNode<S, E>): void;
getNode(path: string): BaseNode<S, E> | undefined;
}
export declare class NodeManager<S extends BlueshellState, E> extends EventEmitter implements INodeManager<S, E> {
private nodePathMap;
private breakpointInfoMap;
private server;
private session;
private static instance;
private constructor();
runServer(): void;
private getMethodsForNode;
private _setBreakpoint;
private getNodeMethodInfo;
private setBreakpoint;
private removeBreakpoint;
static getInstance<S extends BlueshellState, E>(): INodeManager<S, E>;
static reset(): void;
addNode(node: BaseNode<S, E>): void;
removeNode(node: BaseNode<S, E>): void;
getNode(path: string): BaseNode<S, E> | undefined;
shutdown(): Promise<void>;
}