/// <summary> /// Set node for processing on successful condition. /// </summary> /// <param name="bt">BehaviourTree instance.</param> /// <param name="cb">Callback of custom node logic.</param> public BehaviourTreeCondition <T> Then(BehaviourTree <T> bt, Func <BehaviourTree <T>, BehaviourTreeResult> cb) { return(Then(new BehaviourTreeAction <T> (bt, cb))); }
/// <summary> /// Helper for add new BehaviourTreeAction node. /// </summary> /// <param name="bt">Bt.</param> /// <param name="cb">Cb.</param> public BehaviourTreeContainerBase Then <T> (BehaviourTree <T> bt, Func <BehaviourTree <T>, BehaviourTreeResult> cb) where T : class, new() { Then(new BehaviourTreeAction <T> (bt, cb)); return(this); }
/// <summary> /// Initialize new instance of BehaviourTreeCondition node. /// </summary> /// <param name="bt">BehaviourTree instance.</param> /// <param name="condition">Callback of custom node logic for condition checking.</param> public BehaviourTreeCondition(BehaviourTree <T> bt, Func <BehaviourTree <T>, BehaviourTreeResult> condition) : this(new BehaviourTreeAction <T> (bt, condition)) { }