程序包 cn.wjybxx.btree
类 Decorator<E>
java.lang.Object
cn.wjybxx.btree.Task<E>
cn.wjybxx.btree.Decorator<E>
- 直接已知子类:
AlwaysCheckGuard,AlwaysFail,AlwaysRunning,AlwaysSuccess,Inverter,LoopDecorator,OnlyOnce,StateMachineTask,SubtreeRef
装饰任务(最多只有一个子节点)
- 作者:
- wjybxx date - 2023/11/25
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明protected final intaddChildImpl(Task<E> task) 该接口主要用于测试,该接口有一定的开销getChild()getChild(int index) 获取指定索引的childfinal int子节点的数量(仅包括普通意义上的child,不包括钩子任务)final intindexChild(Task<?> task) protected voidonChildRunning(Task<E> child) 子节点还需要继续运行 1.child在运行期间只会通知一次 2.该方法不应该触发状态迁移,即不应该使自己进入完成状态protected voidonEventImpl(Object event) 对于控制节点,通常将事件派发给约定的子节点或钩子节点。removeChildImpl(int index) voidsetChildImpl(int index, Task<E> task) protected void停止所有运行中的子节点 1.该方法在自身的exit之前调用 2.如果有特殊的子节点(钩子任务),也需要在这里停止从类继承的方法 cn.wjybxx.btree.Task
addChild, beforeEnter, canHandleEvent, checkCancel, enter, execute, exit, getBlackboard, getCancelToken, getControl, getControlData, getCurFrame, getEnterFrame, getEntity, getEntryBlackboard, getExitFrame, getFlags, getGuard, getNormalizedStatus, getPrevStatus, getReentryId, getRunFrames, getSharedProps, getStatus, getTaskEntry, isAutoCheckCancel, isAutoListenCancel, isAutoResetChildren, isCancelled, isCompleted, isDisableDelayNotify, isDisableEnterExecute, isExecuteTriggeredByEnter, isExecuting, isExited, isExitTriggeredByStop, isFailed, isFailedOrCancelled, isLocked, isReentered, isRunning, isStillborn, isSucceeded, lock, onCancelRequested, onChildCompleted, onEvent, removeAllChild, removeChild, removeChild, resetChildrenForRestart, resetForRestart, resetForRestart, setAutoCheckCancel, setAutoListenCancel, setAutoResetChildren, setBlackboard, setCancelled, setCancelToken, setChild, setCompleted, setControl, setControlData, setDisableDelayNotify, setDisableEnterExecute, setEnterFrame, setExitFrame, setFailed, setFlags, setGuard, setGuardFailed, setSharedProps, setSuccess, stop, stop, stopSafely, template_checkGuard, template_execute, template_runChild, template_runChildDirectly, template_runHook, template_runHookDirectly, tryLock, unlock, unsetControl
-
字段详细资料
-
child
-
-
构造器详细资料
-
Decorator
public Decorator() -
Decorator
-
-
方法详细资料
-
stopRunningChildren
protected void stopRunningChildren()从类复制的说明:Task停止所有运行中的子节点 1.该方法在自身的exit之前调用 2.如果有特殊的子节点(钩子任务),也需要在这里停止- 覆盖:
stopRunningChildren在类中Task<E>
-
onChildRunning
从类复制的说明:Task子节点还需要继续运行 1.child在运行期间只会通知一次 2.该方法不应该触发状态迁移,即不应该使自己进入完成状态- 指定者:
onChildRunning在类中Task<E>
-
onEventImpl
从类复制的说明:Task对于控制节点,通常将事件派发给约定的子节点或钩子节点。 对于叶子节点,通常自身处理事件。 注意: 1.转发事件时应该调用子节点的Task.onEvent(Object)方法 2.在AI这样的领域中,建议将事件转化为信息存储在Task或黑板中,而不是尝试立即做出反应。 3.Task.isExecuting()方法很重要- 指定者:
onEventImpl在类中Task<E>
-
indexChild
- 覆盖:
indexChild在类中Task<E>- 返回:
- index or -1
-
childStream
从类复制的说明:Task该接口主要用于测试,该接口有一定的开销- 指定者:
childStream在类中Task<E>
-
getChildCount
public final int getChildCount()从类复制的说明:Task子节点的数量(仅包括普通意义上的child,不包括钩子任务)- 指定者:
getChildCount在类中Task<E>
-
getChild
从类复制的说明:Task获取指定索引的child -
addChildImpl
- 指定者:
addChildImpl在类中Task<E>- 返回:
- 为child分配的index
-
setChildImpl
- 指定者:
setChildImpl在类中Task<E>- 返回:
- 索引位置旧的child
-
removeChildImpl
- 指定者:
removeChildImpl在类中Task<E>- 返回:
- index对应的child
-
getChild
-
setChild
-