类 ChangeStateTask<E>

java.lang.Object
cn.wjybxx.btree.Task<E>
cn.wjybxx.btree.LeafTask<E>
cn.wjybxx.btree.fsm.ChangeStateTask<E>

public class ChangeStateTask<E> extends LeafTask<E>
作者:
wjybxx date - 2023/12/1
  • 构造器详细资料

    • ChangeStateTask

      public ChangeStateTask()
    • ChangeStateTask

      public ChangeStateTask(Task<E> nextState)
  • 方法详细资料

    • execute

      protected void execute()
      从类复制的说明: Task
      Task的心跳方法,在Task进入完成状态之前会反复执行。 1.可以根据Task.isExecuteTriggeredByEnter()判断是否是与Task.enter(int)连续执行的。 2.运行中可通过Task.setSuccess()Task.setFailed(int) ()}、Task.setCancelled()将自己更新为完成状态。 3.不建议直接调用该方法,而是通过模板方法运行。
      指定者:
      execute 在类中 Task<E>
    • onEventImpl

      protected void onEventImpl(@Nonnull Object event)
      从类复制的说明: Task
      对于控制节点,通常将事件派发给约定的子节点或钩子节点。 对于叶子节点,通常自身处理事件。 注意: 1.转发事件时应该调用子节点的Task.onEvent(Object)方法 2.在AI这样的领域中,建议将事件转化为信息存储在Task或黑板中,而不是尝试立即做出反应。 3.Task.isExecuting()方法很重要
      指定者:
      onEventImpl 在类中 Task<E>
    • getNextStateGuid

      public String getNextStateGuid()
    • setNextStateGuid

      public void setNextStateGuid(String nextStateGuid)
    • getNextState

      public Task<E> getNextState()
    • setNextState

      public void setNextState(Task<E> nextState)
    • getStateProps

      public Object getStateProps()
    • setStateProps

      public void setStateProps(Object stateProps)
    • getMachineName

      public String getMachineName()
    • setMachineName

      public void setMachineName(String machineName)
    • getDelayMode

      public int getDelayMode()
    • setDelayMode

      public void setDelayMode(int delayMode)
    • getCurStateResult

      public int getCurStateResult()
    • setCurStateResult

      public void setCurStateResult(int curStateResult)