java.lang.Object
cn.wjybxx.btree.Task<T>
cn.wjybxx.btree.LeafTask<T>
cn.wjybxx.btree.fsm.ChangeStateTask<T>
- 所有已实现的接口:
ICancelTokenListener
- 作者:
- wjybxx date - 2023/12/1
-
字段概要
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明protected voidexecute()Task的心跳方法,在Task进入完成状态之前会反复执行。intbyteprotected voidonEventImpl(Object event) 对于控制节点,通常将事件派发给约定的子节点或钩子节点。void重置任务以便重新启动(清理运行产生的所有临时数据)voidsetDelayArg(int delayArg) voidsetDelayMode(byte delayMode) voidsetMachineName(String machineName) voidsetNextState(Task<T> nextState) voidsetNextStateGuid(String nextStateGuid) voidsetStateProps(Object stateProps) 从类继承的方法 cn.wjybxx.btree.LeafTask
addChildImpl, getChild, getChildCount, indexChild, onChildCompleted, onChildRunning, removeChildImpl, setChildImpl, visitChildren从类继承的方法 cn.wjybxx.btree.Task
addChild, beforeEnter, canHandleEvent, checkCancel, enter, exit, exportControlFlowOptions, getBlackboard, getCancelToken, getControl, getControlData, getControlFlowOptions, getEnterFrame, getEntity, getExitFrame, getFlags, getGuard, getNormalizedStatus, getPrevStatus, getReentryId, getRunFrames, getSharedProps, getStatus, getTaskEntry, isActiveInHierarchy, isActiveSelf, isAutoListenCancel, isAutoResetChildren, isBlackboardPerChild, isBreakInline, isCancelled, isCancelTokenPerChild, isCheckingGuard, isCompleted, isExited, isFailed, isFailedOrCancelled, isInlinable, isInvertedGuard, isManualCheckCancel, isRunning, isSlowStart, isStillborn, isSucceeded, onActiveInHierarchyChanged, onCancelRequested, onEvent, refreshActiveInHierarchy, registerCancelListener, removeAllChild, removeChild, removeChild, resetChildrenForRestart, resetForRestart, setActive, setAutoListenCancel, setAutoResetChildren, setBlackboard, setBlackboardPerChild, setBreakInline, setCancelled, setCancelToken, setCancelTokenPerChild, setChild, setChildCancelToken, setCompleted, setControl, setControlData, setEnterFrame, setExitFrame, setFailed, setFlags, setGuard, setGuardFailed, setInvertedGuard, setManualCheckCancel, setPrevStatus, setSharedProps, setSlowStart, setSuccess, stop, stop, stop, stopRunningChildren, template_checkGuard, template_execute, template_executeInlined, template_startChild, template_startHook, unsetChildCancelToken, unsetControl
-
构造器详细资料
-
ChangeStateTask
public ChangeStateTask() -
ChangeStateTask
-
-
方法详细资料
-
resetForRestart
public void resetForRestart()从类复制的说明:Task重置任务以便重新启动(清理运行产生的所有临时数据)1. 和exit一样,清理的是运行时产生的临时数据,而不是所有数据;不过该方法是比exit更彻底的清理。 2. 钩子任务也应当被重置。 3. 与
Task.beforeEnter()相同,重写方法时,应先执行父类逻辑,再重置自身属性。 4. 有临时数据的Task都应该重写该方法,行为树通常是需要反复执行的。- 覆盖:
resetForRestart在类中Task<T>
-
execute
protected void execute()从类复制的说明:TaskTask的心跳方法,在Task进入完成状态之前会反复执行。 1.运行中可通过Task.setSuccess()、Task.setFailed(int)、Task.setCancelled()将自己更新为完成状态。 2.如果不想和Task.enter(int)同步执行,可通过Task.setSlowStart(boolean)实现。 3.不建议直接调用该方法,而是通过模板方法Task.template_execute(boolean)运行。 -
onEventImpl
从类复制的说明:Task对于控制节点,通常将事件派发给约定的子节点或钩子节点。 对于叶子节点,通常自身处理事件。 注意: 1.转发事件时应该调用子节点的Task.onEvent(Object)方法 2.在AI这样的领域中,建议将事件转化为信息存储在Task或黑板中,而不是尝试立即做出反应。- 指定者:
onEventImpl在类中Task<T>
-
getNextStateGuid
-
setNextStateGuid
-
getNextState
-
setNextState
-
getStateProps
-
setStateProps
-
getMachineName
-
setMachineName
-
getDelayMode
public byte getDelayMode() -
setDelayMode
public void setDelayMode(byte delayMode) -
getDelayArg
public int getDelayArg() -
setDelayArg
public void setDelayArg(int delayArg)
-