java.lang.Object
cn.wjybxx.btree.Task<T>
cn.wjybxx.btree.LeafTask<T>
- 所有已实现的接口:
ICancelTokenListener
- 直接已知子类:
ActionTask,ChangeStateTask,ConditionTask,Failure,Running,SimpleRandom,Success,WaitFrame
叶子任务(不能有子节点)
- 作者:
- wjybxx date - 2023/11/25
-
字段概要
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明protected final intaddChildImpl(Task<T> task) getChild(int index) 获取指定索引的childfinal int子节点的数量(仅包括普通意义上的child,不包括钩子任务)final intindexChild(Task<?> task) protected final voidonChildCompleted(Task<T> child) 子节点进入完成状态 1.避免方法数太多,实现类测试task的status即可 2.Task.getNormalizedStatus()有助于switch测试 3.task可能是取消状态,甚至可能没运行过直接失败(前置条件失败) 4.钩子任务和guard不会调用该方法 5.同一子节点连续通知的情况下,completed的逻辑应当覆盖Task.onChildRunning(Task, boolean)的影响。protected final voidonChildRunning(Task<T> child, boolean starting) 子节点还需要继续运行 1.该方法在运行期间可能被多次调用(非启动时调用表示修复内联) 2.该方法不应该触发状态迁移,即不应该使自己进入完成状态removeChildImpl(int index) setChildImpl(int index, Task<T> task) final voidvisitChildren(TaskVisitor<? super T> visitor, Object param) 访问所有的子节点(含hook节点)从类继承的方法 cn.wjybxx.btree.Task
addChild, beforeEnter, canHandleEvent, checkCancel, enter, execute, exit, exportControlFlowOptions, getBlackboard, getCancelToken, getControl, getControlData, getControlFlowOptions, getEnterFrame, getEntity, getExitFrame, getFlags, getGuard, getNormalizedStatus, getPrevStatus, getReentryId, getRunFrames, getSharedProps, getStatus, getTaskEntry, isActiveInHierarchy, isActiveSelf, isAutoListenCancel, isAutoResetChildren, isBreakInline, isCancelled, isCheckingGuard, isCompleted, isExited, isFailed, isFailedOrCancelled, isInlinable, isInvertedGuard, isManualCheckCancel, isRunning, isSlowStart, isStillborn, isSucceeded, onActiveInHierarchyChanged, onCancelRequested, onEvent, onEventImpl, refreshActiveInHierarchy, registerCancelListener, removeAllChild, removeChild, removeChild, resetChildrenForRestart, resetForRestart, resetForRestart, setActive, setAutoListenCancel, setAutoResetChildren, setBlackboard, setBreakInline, setCancelled, setCancelToken, 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
-
构造器详细资料
-
LeafTask
public LeafTask()
-
-
方法详细资料
-
onChildRunning
从类复制的说明:Task子节点还需要继续运行 1.该方法在运行期间可能被多次调用(非启动时调用表示修复内联) 2.该方法不应该触发状态迁移,即不应该使自己进入完成状态- 指定者:
onChildRunning在类中Task<T>- 参数:
starting- 是否是启动时调用,即首次调用
-
onChildCompleted
从类复制的说明:Task子节点进入完成状态 1.避免方法数太多,实现类测试task的status即可 2.Task.getNormalizedStatus()有助于switch测试 3.task可能是取消状态,甚至可能没运行过直接失败(前置条件失败) 4.钩子任务和guard不会调用该方法 5.同一子节点连续通知的情况下,completed的逻辑应当覆盖Task.onChildRunning(Task, boolean)的影响。 6.任何的回调和事件方法中都由用户自身检测取消信号- 指定者:
onChildCompleted在类中Task<T>
-
indexChild
- 覆盖:
indexChild在类中Task<T>- 返回:
- index or -1
-
visitChildren
从类复制的说明:Task访问所有的子节点(含hook节点)- 指定者:
visitChildren在类中Task<T>
-
getChildCount
public final int getChildCount()从类复制的说明:Task子节点的数量(仅包括普通意义上的child,不包括钩子任务)- 指定者:
getChildCount在类中Task<T>
-
getChild
从类复制的说明:Task获取指定索引的child -
addChildImpl
- 指定者:
addChildImpl在类中Task<T>- 返回:
- 为child分配的index
-
setChildImpl
- 指定者:
setChildImpl在类中Task<T>- 返回:
- 索引位置旧的child
-
removeChildImpl
- 指定者:
removeChildImpl在类中Task<T>- 返回:
- index对应的child
-