java.lang.Object
cn.wjybxx.btree.Task<T>
cn.wjybxx.btree.BranchTask<T>
cn.wjybxx.btree.branch.SingleRunningChildBranch<T>
cn.wjybxx.btree.branch.Selector<T>
- 所有已实现的接口:
ICancelTokenListener
- 作者:
- wjybxx date - 2023/11/26
-
字段概要
从类继承的字段 cn.wjybxx.btree.branch.SingleRunningChildBranch
inlineHelper, runningChild, runningIndex从类继承的字段 cn.wjybxx.btree.BranchTask
children -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明protected voidenter(int reentryId) 该方法在Task进入运行状态时执行 1.数据初始化需要放在Task.beforeEnter()中,避免执行逻辑时对象未初始化完成。protected voidonChildCompleted(Task<T> child) 子类的实现模板:protected voidonChildRunning(Task<T> child, boolean starting) 子类如果支持内联,则重写该方法从类继承的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
beforeEnter, execute, exit, getCompletedCount, getInlineHelper, getRunningChild, getRunningIndex, getSucceededCount, illegalStateMsg, isAllChildCompleted, nextChild, onEventImpl, resetForRestart, stopRunningChildren从类继承的方法 cn.wjybxx.btree.BranchTask
addChildImpl, getChild, getChildCount, getChildren, getFirstChild, getLastChild, indexChild, isFirstChild, isLastChild, removeChildImpl, setChildImpl, setChildren, shuffleChild, visitChildren从类继承的方法 cn.wjybxx.btree.Task
addChild, canHandleEvent, checkCancel, 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, template_checkGuard, template_execute, template_executeInlined, template_startChild, template_startHook, unsetChildCancelToken, unsetControl
-
构造器详细资料
-
Selector
public Selector() -
Selector
-
Selector
-
-
方法详细资料
-
enter
protected void enter(int reentryId) 从类复制的说明:Task该方法在Task进入运行状态时执行 1.数据初始化需要放在Task.beforeEnter()中,避免执行逻辑时对象未初始化完成。 2.如果要初始化子节点,也放到Task.beforeEnter()方法; 3.允许更新自己为完成状态 -
onChildRunning
从类复制的说明:SingleRunningChildBranch子类如果支持内联,则重写该方法- 覆盖:
onChildRunning在类中SingleRunningChildBranch<T>- 参数:
starting- 是否是启动时调用,即首次调用
-
onChildCompleted
从类复制的说明:SingleRunningChildBranch子类的实现模板:
ps: 推荐子类重复编码避免调用superprotected void onChildCompleted(Task child) { runningChild = null; inlinedHolder.stopInline(); // 尝试计算结果(记得处理取消) ... // 如果未得出结果 if (!isExecuting()) { template_execute(); } }- 覆盖:
onChildCompleted在类中SingleRunningChildBranch<T>
-