/// <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))
 {
 }