/// <summary> /// Execute the child node only if the Blackboard's key matches the op / value condition. /// </summary> /// <param name="blackboard">The blackboard that holds the value to check and checks the condition</param> /// <param name="key">The key of the value</param> /// <param name="conditionoperator">The operator used to check the value</param> /// <param name="decoratee">The child node</param> /// <param name="stoprule"></param> public BehaviourBlackboardCondition(BehaviourBlackboard blackboard, string key, Operator conditionoperator, BehaviourNode decoratee, AbortRule stoprule) : base("BlackboardCondition", blackboard, decoratee, stoprule) { Init(key, conditionoperator); }
public BehaviourBlackboardObserver(string name, BehaviourBlackboard blackboard, BehaviourNode decoratee, AbortRule stopRule) : base(name, decoratee, stopRule) { this.blackboard = blackboard; }
/// <summary> /// BlackboardCondition allows to check only one key, this one will observe multiple blackboard keys and evaluate /// the given query function as soon as one of the value's changes, allowing you to do arbitrary queries on the blackboard. /// </summary> /// <param name="blackboard">The blackboard that holds the queries to check</param> /// <param name="observerkeys">Keys of the queries to check</param> /// <param name="decoratee">The child node</param> /// <param name="stoprule">Stop execution of running nodes based on the rule</param> /// <param name="query">The query to execute</param> public BehaviourBlackboardQuery(BehaviourBlackboard blackboard, string[] observerkeys, BehaviourNode decoratee, AbortRule stoprule, System.Func <bool> query) : base("BlackboardQuery", blackboard, decoratee, stoprule) { m_observerkeys = observerkeys; m_query = query; }