blueshell
Version:
A Behavior Tree implementation in modern Javascript
23 lines (22 loc) • 987 B
TypeScript
import { ResultCode, BlueshellState, BaseNode, Conditional, NodeStorage } from '../../models';
import { Decorator } from '../Decorator';
export interface WhileNodeStorage extends NodeStorage {
beganAtLeastOneLoop?: boolean;
lastLoopResult?: ResultCode;
break?: boolean;
}
/**
* Given a conditional, have the child Node handle an event given a while condition
* 11/9/21
* @author Timothy Deignan
*/
export declare class While<S extends BlueshellState, E> extends Decorator<S, E> {
private conditional;
private readonly defaultResult;
constructor(desc: string, conditional: Conditional<S, E>, child: BaseNode<S, E>, defaultResult?: ResultCode);
getNodeStorage(state: S): WhileNodeStorage;
protected decorateCall(handleEvent: (state: S, event: E) => ResultCode, state: S, event: E): ResultCode;
protected _afterEvent(res: ResultCode, state: S, event: E): ResultCode;
protected onEvent(state: S, event: E): ResultCode;
get symbol(): string;
}