类 UntilCond<T>

所有已实现的接口:
ICancelTokenListener

public class UntilCond<T> extends LoopDecorator<T>
循环子节点直到给定的条件达成
作者:
wjybxx date - 2023/12/1
  • 构造器详细资料

    • UntilCond

      public UntilCond()
  • 方法详细资料

    • resetForRestart

      public void resetForRestart()
      从类复制的说明: Task
      重置任务以便重新启动(清理运行产生的所有临时数据)

      1. 和exit一样,清理的是运行时产生的临时数据,而不是所有数据;不过该方法是比exit更彻底的清理。 2. 钩子任务也应当被重置。 3. 与Task.beforeEnter()相同,重写方法时,应先执行父类逻辑,再重置自身属性。 4. 有临时数据的Task都应该重写该方法,行为树通常是需要反复执行的。

      覆盖:
      resetForRestart 在类中 Decorator<T>
    • onChildRunning

      protected void onChildRunning(Task<T> child, boolean starting)
      从类复制的说明: Decorator
      子类如果支持内联,则重写该方法(超类不能安全内联)
      覆盖:
      onChildRunning 在类中 Decorator<T>
      参数:
      starting - 是否是启动时调用,即首次调用
    • onChildCompleted

      protected void onChildCompleted(Task<T> child)
      从类复制的说明: Task
      子节点进入完成状态 1.避免方法数太多,实现类测试task的status即可 2.Task.getNormalizedStatus()有助于switch测试 3.task可能是取消状态,甚至可能没运行过直接失败(前置条件失败) 4.钩子任务和guard不会调用该方法 5.同一子节点连续通知的情况下,completed的逻辑应当覆盖Task.onChildRunning(Task, boolean)的影响。 6.任何的回调和事件方法中都由用户自身检测取消信号
      指定者:
      onChildCompleted 在类中 Task<T>
    • getCond

      public Task<T> getCond()
    • setCond

      public void setCond(Task<T> cond)