UNPKG

blueshell

Version:

A Behavior Tree implementation in modern Javascript

13 lines (10 loc) 377 B
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; } }