blueshell
Version:
A Behavior Tree implementation in modern Javascript
13 lines (10 loc) • 377 B
text/typescript
import { Action } from './Base';
import { BlueshellState, rc } from '../models';
export class Predicate<S extends BlueshellState, E> extends Action<S, E> {
constructor(name: string, private readonly predicate: (state: S, event: E) => boolean) {
super(name);
}
protected onEvent(state: S, event: E) {
return this.predicate(state, event) ? rc.SUCCESS : rc.FAILURE;
}
}