索引

A B C D E F G I J L M N O P R S T U W   
常量字段值|所有程序包|所有类和接口

A

ActionTask<E> - cn.wjybxx.btree中的类
行为节点抽象 (并非所有行为节点都需要继承该类)
ActionTask() - 类的构造器 cn.wjybxx.btree.ActionTask
 
ActiveSelector<E> - cn.wjybxx.btree.branch中的类
主动选择节点 每次运行时都会重新测试节点的运行条件,选择一个新的可运行节点。
ActiveSelector() - 类的构造器 cn.wjybxx.btree.branch.ActiveSelector
 
addChild(CancelToken) - 类中的方法 cn.wjybxx.btree.CancelToken
 
addChild(Task<E>) - 类中的方法 cn.wjybxx.btree.Task
1.尽量不要在运行时增删子节点(危险操作) 2.不建议将Task从一棵树转移到另一棵树,可能产生内存泄漏(引用未删除干净) 3.如果需要知道task的索引,可提前调用Task.getChildCount()
addChildImpl(Task<E>) - 类中的方法 cn.wjybxx.btree.BranchTask
 
addChildImpl(Task<E>) - 类中的方法 cn.wjybxx.btree.Decorator
 
addChildImpl(Task<E>) - 类中的方法 cn.wjybxx.btree.LeafTask
 
addChildImpl(Task<E>) - 类中的方法 cn.wjybxx.btree.Task
 
addChildImpl(Task<E>) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
addListener(Task<?>) - 类中的方法 cn.wjybxx.btree.CancelToken
为Task定制的接口 1.可减少闭包,也更方便使用 2.如果Task被重入,不会被通知
addListener(Consumer<? super CancelToken>) - 类中的方法 cn.wjybxx.btree.CancelToken
添加取消监听器
AlwaysCheckGuard<E> - cn.wjybxx.btree.decorator中的类
每一帧都检查子节点的前置条件,如果前置条件失败,则取消child执行并返回失败
AlwaysCheckGuard() - 类的构造器 cn.wjybxx.btree.decorator.AlwaysCheckGuard
 
AlwaysCheckGuard(Task<E>) - 类的构造器 cn.wjybxx.btree.decorator.AlwaysCheckGuard
 
AlwaysFail<E> - cn.wjybxx.btree.decorator中的类
在子节点完成之后固定返回失败
AlwaysFail() - 类的构造器 cn.wjybxx.btree.decorator.AlwaysFail
 
AlwaysFail(Task<E>) - 类的构造器 cn.wjybxx.btree.decorator.AlwaysFail
 
AlwaysRunning<E> - cn.wjybxx.btree.decorator中的类
在子节点完成之后仍返回运行。
AlwaysRunning() - 类的构造器 cn.wjybxx.btree.decorator.AlwaysRunning
 
AlwaysSuccess<E> - cn.wjybxx.btree.decorator中的类
在子节点完成之后固定返回成功
AlwaysSuccess() - 类的构造器 cn.wjybxx.btree.decorator.AlwaysSuccess
 
AlwaysSuccess(Task<E>) - 类的构造器 cn.wjybxx.btree.decorator.AlwaysSuccess
 

B

beforeChangeState(StateMachineTask<E>, Task<E>, Task<E>) - 接口中的方法 cn.wjybxx.btree.fsm.StateMachineListener
1.两个参数最多一个为null 2.可以设置新状态的黑板和其它数据 3.用户此时可为新状态分配上下文;同时清理前一个状态的上下文 4.用户此时可拿到新状态ChangeStateArgs,后续则不可 5.如果task需要感知redo和undo,则由用户将信息写入黑板
beforeEnter() - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
 
beforeEnter() - 类中的方法 cn.wjybxx.btree.branch.Join
 
beforeEnter() - 类中的方法 cn.wjybxx.btree.branch.SelectorN
 
beforeEnter() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
beforeEnter() - 类中的方法 cn.wjybxx.btree.decorator.AlwaysRunning
 
beforeEnter() - 类中的方法 cn.wjybxx.btree.decorator.Repeat
 
beforeEnter() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
beforeEnter() - 类中的方法 cn.wjybxx.btree.Task
该方法用于初始化对象。
beforeEnter(Join<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinAnyOf
 
beforeEnter(Join<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinMain
 
beforeEnter(Join<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelector
 
beforeEnter(Join<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
 
beforeEnter(Join<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSequence
 
beforeEnter(Join<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinWaitAll
 
beforeEnter(Join<E>) - 接口中的方法 cn.wjybxx.btree.branch.JoinPolicy
启动前初始化
blackboard - 类中的变量 cn.wjybxx.btree.Task
任务运行时依赖的黑板(主要上下文) 1.每个任务可有独立的黑板(数据); 2.运行时不能为null; 3.如果是自动继承的,exit后自动删除;如果是Control赋值的,则由control删除。
BranchTask<E> - cn.wjybxx.btree中的类
分支任务(可能有多个子节点)
BranchTask() - 类的构造器 cn.wjybxx.btree.BranchTask
 
BranchTask(Task<E>, Task<E>) - 类的构造器 cn.wjybxx.btree.BranchTask
 
BranchTask(List<Task<E>>) - 类的构造器 cn.wjybxx.btree.BranchTask
 

C

cancel() - 类中的方法 cn.wjybxx.btree.CancelToken
发出取消命令
cancel(int) - 类中的方法 cn.wjybxx.btree.CancelToken
发出取消命令
cancelCurState(int) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
对当前当前状态发出取消命令
CANCELLED - 类中的静态变量 cn.wjybxx.btree.Status
被取消 -- 需要放在所有失败码的前面,用户可以可以通过比较大小判断;向上传播时要小心
cancelToken - 类中的变量 cn.wjybxx.btree.Task
取消令牌(取消上下文) 1.每个任务可有独立的取消信号; 2.运行时不能为null; 3.如果是自动继承的,exit后自动删除;如果是Control赋值的,则由control删除。
CancelToken - cn.wjybxx.btree中的类
取消令牌。
CancelToken() - 类的构造器 cn.wjybxx.btree.CancelToken
 
CancelToken(int) - 类的构造器 cn.wjybxx.btree.CancelToken
 
canHandleEvent(Object) - 类中的方法 cn.wjybxx.btree.ConditionTask
 
canHandleEvent(Object) - 类中的方法 cn.wjybxx.btree.ConditionTask2
 
canHandleEvent(Object) - 类中的方法 cn.wjybxx.btree.Task
该方法用于测试自己的状态和事件数据 如果通过条件Task来实现事件过滤,那么通常的写法如下:
canHandleEvent(Object) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
changeState(Task<E>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
切换状态 -- 如果状态机处于运行中,则立即切换
changeState(Task<E>, ChangeStateArgs) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
切换状态 1.如果当前有一个待切换的状态,则会被悄悄丢弃(可以增加一个通知) 2.无论何种模式,在当前状态进入完成状态时一定会触发 3.如果状态机未运行,则仅仅保存在那里,等待下次运行的时候执行 4.当前状态可先正常完成,然后再切换状态,就可以避免进入被取消状态;可参考ChangeStateTask
ChangeStateArgs - cn.wjybxx.btree.fsm中的类
状态切换参数 建议用户通过原型对象的ChangeStateArgs.withExtraInfo(Object)等方法创建
ChangeStateTask<E> - cn.wjybxx.btree.fsm中的类
 
ChangeStateTask() - 类的构造器 cn.wjybxx.btree.fsm.ChangeStateTask
 
ChangeStateTask(Task<E>) - 类的构造器 cn.wjybxx.btree.fsm.ChangeStateTask
 
checkArgs(ChangeStateArgs) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
检测正确性和自动初始化;不可修改掉cmd
checkCancel(int) - 类中的方法 cn.wjybxx.btree.Task
检查取消
child - 类中的变量 cn.wjybxx.btree.Decorator
 
CHILDLESS - 类中的静态变量 cn.wjybxx.btree.Status
没有子节点
childPrevReentryIds - 类中的变量 cn.wjybxx.btree.branch.Join
子节点的重入id -- 判断本轮是否需要执行
children - 类中的变量 cn.wjybxx.btree.BranchTask
 
childStream() - 类中的方法 cn.wjybxx.btree.BranchTask
 
childStream() - 类中的方法 cn.wjybxx.btree.Decorator
 
childStream() - 类中的方法 cn.wjybxx.btree.LeafTask
 
childStream() - 类中的方法 cn.wjybxx.btree.Task
该接口主要用于测试,该接口有一定的开销
childStream() - 类中的方法 cn.wjybxx.btree.TaskEntry
 
clear() - 类中的方法 cn.wjybxx.btree.CancelToken
清理所有的监听者(含child)
cmd - 类中的变量 cn.wjybxx.btree.fsm.ChangeStateArgs
切换命名
CMD_NONE - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
 
CMD_REDO - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
 
CMD_UNDO - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
 
cn.wjybxx.btree - 程序包 cn.wjybxx.btree
 
cn.wjybxx.btree.branch - 程序包 cn.wjybxx.btree.branch
 
cn.wjybxx.btree.branch.join - 程序包 cn.wjybxx.btree.branch.join
 
cn.wjybxx.btree.decorator - 程序包 cn.wjybxx.btree.decorator
 
cn.wjybxx.btree.fsm - 程序包 cn.wjybxx.btree.fsm
 
cn.wjybxx.btree.leaf - 程序包 cn.wjybxx.btree.leaf
 
completedCount - 类中的变量 cn.wjybxx.btree.branch.Join
已进入完成状态的子节点
ConditionTask<E> - cn.wjybxx.btree中的类
条件节点 (并非所有条件节点都需要继承该类)
ConditionTask() - 类的构造器 cn.wjybxx.btree.ConditionTask
 
ConditionTask2<E> - cn.wjybxx.btree中的类
可返回详细错误码的条件节点
ConditionTask2() - 类的构造器 cn.wjybxx.btree.ConditionTask2
 

D

Decorator<E> - cn.wjybxx.btree中的类
装饰任务(最多只有一个子节点)
Decorator() - 类的构造器 cn.wjybxx.btree.Decorator
 
Decorator(Task<E>) - 类的构造器 cn.wjybxx.btree.Decorator
 
DELAY_CURRENT_COMPLETED - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
在当前子节点完成的时候切换 -- 其它延迟模式也会在状态完成时触发;通常用于状态主动退出时;
DELAY_NEXT_FRAME - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
下一帧执行
DELAY_NONE - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
不延迟
delayMode - 类中的变量 cn.wjybxx.btree.fsm.ChangeStateArgs
延迟模式
discardTempNextState() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
丢弃未切换的临时状态

E

enter(int) - 类中的方法 cn.wjybxx.btree.branch.Join
 
enter(int) - 类中的方法 cn.wjybxx.btree.branch.SelectorN
 
enter(int) - 类中的方法 cn.wjybxx.btree.decorator.Repeat
 
enter(int) - 类中的方法 cn.wjybxx.btree.decorator.SubtreeRef
 
enter(int) - 类中的方法 cn.wjybxx.btree.Task
该方法在Task进入运行状态时执行 1.数据初始化需要放在Task.beforeEnter()中,避免执行逻辑时对象未初始化完成。
enter(Join<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinAnyOf
 
enter(Join<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinMain
 
enter(Join<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelector
 
enter(Join<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
 
enter(Join<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSequence
 
enter(Join<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinWaitAll
 
enter(Join<E>) - 接口中的方法 cn.wjybxx.btree.branch.JoinPolicy
启动
ERROR - 类中的静态变量 cn.wjybxx.btree.Status
默认失败码 -- 是最小的失败码
execute() - 类中的方法 cn.wjybxx.btree.ActionTask
 
execute() - 类中的方法 cn.wjybxx.btree.branch.ActiveSelector
 
execute() - 类中的方法 cn.wjybxx.btree.branch.Join
 
execute() - 类中的方法 cn.wjybxx.btree.branch.ServiceParallel
 
execute() - 类中的方法 cn.wjybxx.btree.branch.SimpleParallel
 
execute() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
execute() - 类中的方法 cn.wjybxx.btree.branch.Switch
 
execute() - 类中的方法 cn.wjybxx.btree.ConditionTask
 
execute() - 类中的方法 cn.wjybxx.btree.ConditionTask2
 
execute() - 类中的方法 cn.wjybxx.btree.decorator.AlwaysCheckGuard
 
execute() - 类中的方法 cn.wjybxx.btree.decorator.AlwaysFail
 
execute() - 类中的方法 cn.wjybxx.btree.decorator.AlwaysRunning
 
execute() - 类中的方法 cn.wjybxx.btree.decorator.AlwaysSuccess
 
execute() - 类中的方法 cn.wjybxx.btree.decorator.Inverter
 
execute() - 类中的方法 cn.wjybxx.btree.decorator.LoopDecorator
 
execute() - 类中的方法 cn.wjybxx.btree.decorator.OnlyOnce
 
execute() - 类中的方法 cn.wjybxx.btree.decorator.SubtreeRef
 
execute() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
execute() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
execute() - 类中的方法 cn.wjybxx.btree.leaf.Failure
 
execute() - 类中的方法 cn.wjybxx.btree.leaf.Running
 
execute() - 类中的方法 cn.wjybxx.btree.leaf.SimpleRandom
 
execute() - 类中的方法 cn.wjybxx.btree.leaf.Success
 
execute() - 类中的方法 cn.wjybxx.btree.leaf.WaitFrame
 
execute() - 类中的方法 cn.wjybxx.btree.Task
Task的心跳方法,在Task进入完成状态之前会反复执行。
execute() - 类中的方法 cn.wjybxx.btree.TaskEntry
 
executeImpl() - 类中的方法 cn.wjybxx.btree.ActionTask
我们的大多数行为节点逻辑都较为简单,不需要事件驱动特性,因而可以转换为同步返回的节点。
exit() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
exit() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
exit() - 类中的方法 cn.wjybxx.btree.Task
该方法在Task进入完成状态时执行 1.该方法与Task.enter(int)对应,通常用于停止Task.enter(int)中启动的逻辑。
extraInfo - 类中的变量 cn.wjybxx.btree.fsm.ChangeStateArgs
期望传递给Listener的数据

F

Failure<E> - cn.wjybxx.btree.leaf中的类
 
Failure() - 类的构造器 cn.wjybxx.btree.leaf.Failure
 
findStateMachine(Task<E>) - 类中的静态方法 cn.wjybxx.btree.fsm.StateMachineTask
查找task最近的状态机节点 1.仅递归查询父节点和长兄节点 2.优先查找附近的,然后测试长兄节点 - 状态机作为第一个节点的情况比较常见
findStateMachine(Task<E>, String) - 类中的静态方法 cn.wjybxx.btree.fsm.StateMachineTask
查找task最近的状态机节点 1.名字不为空的情况下,支持从兄弟节点中查询 2.优先测试父节点,然后测试兄弟节点
FixedSwitch<E> - cn.wjybxx.btree.branch中的类
展开的switch 在编辑器中,children根据坐标排序,容易变动;这里将其展开为字段,从而方便配置。
FixedSwitch() - 类的构造器 cn.wjybxx.btree.branch.FixedSwitch
 
flags - 类中的变量 cn.wjybxx.btree.Task
任务的自定义标识 1.对任务进行标记是一个常见的需求,我们将其定义在顶层以简化使用 2.在运行期间不应该变动 3.高8位为流程控制特征值,会在任务运行前拷贝到ctl -- 以支持在编辑器导出文件中指定。
Foreach<E> - cn.wjybxx.btree.branch中的类
迭代所有的子节点最后返回成功
Foreach() - 类的构造器 cn.wjybxx.btree.branch.Foreach
 
Foreach(Task<E>, Task<E>) - 类的构造器 cn.wjybxx.btree.branch.Foreach
 
Foreach(List<Task<E>>) - 类的构造器 cn.wjybxx.btree.branch.Foreach
 
frame - 类中的变量 cn.wjybxx.btree.fsm.ChangeStateArgs
期望开始运行的帧号;-1表示尚未指定

G

getBlackboard() - 类中的方法 cn.wjybxx.btree.Task
 
getBranch1() - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
 
getBranch2() - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
 
getBranch3() - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
 
getBranch4() - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
 
getBranch5() - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
 
getCancelCode() - 类中的方法 cn.wjybxx.btree.CancelToken
获取取消码
getCancelToken() - 类中的方法 cn.wjybxx.btree.Task
 
getChild() - 类中的方法 cn.wjybxx.btree.Decorator
 
getChild(int) - 类中的方法 cn.wjybxx.btree.BranchTask
 
getChild(int) - 类中的方法 cn.wjybxx.btree.Decorator
 
getChild(int) - 类中的方法 cn.wjybxx.btree.LeafTask
 
getChild(int) - 类中的方法 cn.wjybxx.btree.Task
获取指定索引的child
getChild(int) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
getChildCount() - 类中的方法 cn.wjybxx.btree.BranchTask
 
getChildCount() - 类中的方法 cn.wjybxx.btree.Decorator
 
getChildCount() - 类中的方法 cn.wjybxx.btree.LeafTask
 
getChildCount() - 类中的方法 cn.wjybxx.btree.Task
子节点的数量(仅包括普通意义上的child,不包括钩子任务)
getChildCount() - 类中的方法 cn.wjybxx.btree.TaskEntry
 
getChildren() - 类中的方法 cn.wjybxx.btree.BranchTask
 
getCompletedCount() - 类中的方法 cn.wjybxx.btree.branch.Join
 
getCompletedCount() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
已完成的子节点数量
getCond() - 类中的方法 cn.wjybxx.btree.decorator.UntilCond
 
getControl() - 类中的方法 cn.wjybxx.btree.Task
 
getControlData() - 类中的方法 cn.wjybxx.btree.Task
 
getCountMode() - 类中的方法 cn.wjybxx.btree.decorator.Repeat
 
getCurFrame() - 类中的方法 cn.wjybxx.btree.Task
获取当前的帧号
getCurFrame() - 类中的方法 cn.wjybxx.btree.TaskEntry
 
getCurState() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
获取当前状态
getCurStateResult() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
getDelayMode() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
getEnterFrame() - 类中的方法 cn.wjybxx.btree.Task
 
getEntity() - 类中的方法 cn.wjybxx.btree.Task
获取行为树绑定的实体 -- 最好让Entity也在黑板中
getEntity() - 类中的方法 cn.wjybxx.btree.TaskEntry
 
getEntryBlackboard() - 类中的方法 cn.wjybxx.btree.Task
获取行为树入口绑定的黑板
getExitFrame() - 类中的方法 cn.wjybxx.btree.Task
 
getFailureStatus() - 类中的方法 cn.wjybxx.btree.decorator.AlwaysFail
 
getFailureStatus() - 类中的方法 cn.wjybxx.btree.leaf.Failure
 
getFirstChild() - 类中的方法 cn.wjybxx.btree.BranchTask
主要为MainPolicy提供帮助
getFlags() - 类中的方法 cn.wjybxx.btree.Task
 
getFlags() - 接口中的方法 cn.wjybxx.btree.TreeLoader.IEntry
入口对象的标记信息
getGuard() - 类中的方法 cn.wjybxx.btree.Task
 
getGuid() - 接口中的方法 cn.wjybxx.btree.TreeLoader.IEntry
入口对象的guid
getHandler() - 类中的方法 cn.wjybxx.btree.TaskEntry
 
getInitState() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
getInitStateProps() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
getInstance() - 类中的静态方法 cn.wjybxx.btree.branch.join.JoinAnyOf
 
getInstance() - 类中的静态方法 cn.wjybxx.btree.branch.join.JoinMain
 
getInstance() - 类中的静态方法 cn.wjybxx.btree.branch.join.JoinSelector
 
getInstance() - 类中的静态方法 cn.wjybxx.btree.branch.join.JoinSequence
 
getInstance() - 类中的静态方法 cn.wjybxx.btree.branch.join.JoinWaitAll
 
getLastChild() - 类中的方法 cn.wjybxx.btree.BranchTask
 
getListener() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
getMachineName() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
getMaxLoopPerFrame() - 类中的方法 cn.wjybxx.btree.decorator.LoopDecorator
 
getName() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
getName() - 类中的方法 cn.wjybxx.btree.TaskEntry
 
getName() - 接口中的方法 cn.wjybxx.btree.TreeLoader.IEntry
入口对象的名字
getNextState() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
getNextStateGuid() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
getNoneChildStatus() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
getNormalizedStatus() - 类中的方法 cn.wjybxx.btree.Task
获取归一化后的状态码,所有的失败码都转换为Status.ERROR
getP() - 类中的方法 cn.wjybxx.btree.leaf.SimpleRandom
 
getPolicy() - 类中的方法 cn.wjybxx.btree.branch.Join
 
getPrevStatus() - 类中的方法 cn.wjybxx.btree.Task
获取任务前一次的执行结果 1.取值范围[0,63] -- 其实只要能区分成功失败就够; 2.这并不是一个运行时必须的属性,而是为Debug和Ui视图用的;Java端暂不实现了,C#会实现
getRedoQueue() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
开放以允许填充
getReentryId() - 类中的方法 cn.wjybxx.btree.Task
获取重入id 1.重入id用于解决事件(或外部逻辑)可能使当前Task进入完成状态的问题。
getRequired() - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
 
getRequired() - 类中的方法 cn.wjybxx.btree.branch.SelectorN
 
getRequired() - 类中的方法 cn.wjybxx.btree.decorator.Repeat
 
getRequired() - 类中的方法 cn.wjybxx.btree.leaf.WaitFrame
 
getRoot() - 接口中的方法 cn.wjybxx.btree.TreeLoader.IEntry
入口对象绑定的Root对象
getRootStateMachine() - 类中的方法 cn.wjybxx.btree.TaskEntry
获取根状态机 状态机太重要了,值得我们为其提供各种快捷方法
getRootTask() - 类中的方法 cn.wjybxx.btree.TaskEntry
 
getRunFrames() - 类中的方法 cn.wjybxx.btree.Task
运行的帧数 1.任务如果在首次Task.execute()的时候就进入完成状态,那么运行帧数0 2.运行帧数是非常重要的统计属性,值得我们定义在顶层.
getRunningIndex() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
允许外部在结束后查询
getSharedProps() - 类中的方法 cn.wjybxx.btree.Task
 
getStateMachineHandler() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
getStateProps() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
getStatus() - 类中的方法 cn.wjybxx.btree.Task
获取原始的状态码
getSucceededCount() - 类中的方法 cn.wjybxx.btree.branch.Join
 
getTaskEntry() - 类中的方法 cn.wjybxx.btree.Task
 
getTempNextState() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
获取临时的下一个状态
getTreeLoader() - 类中的方法 cn.wjybxx.btree.TaskEntry
 
getTreeName() - 类中的方法 cn.wjybxx.btree.decorator.SubtreeRef
 
getType() - 类中的方法 cn.wjybxx.btree.TaskEntry
 
getType() - 接口中的方法 cn.wjybxx.btree.TreeLoader.IEntry
入口对象的类型,通常用于表示其作用
getUndoQueue() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
开放以允许填充
GUARD_FAILED - 类中的静态变量 cn.wjybxx.btree.Status
前置条件检查失败 -- 未运行的情况下直接失败;注意!

I

illegalStateMsg() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
indexChild(Task<?>) - 类中的方法 cn.wjybxx.btree.BranchTask
 
indexChild(Task<?>) - 类中的方法 cn.wjybxx.btree.Decorator
 
indexChild(Task<?>) - 类中的方法 cn.wjybxx.btree.LeafTask
 
indexChild(Task<?>) - 类中的方法 cn.wjybxx.btree.Task
 
indexChild(Task<?>) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
INSUFFICIENT_CHILD - 类中的静态变量 cn.wjybxx.btree.Status
子节点不足
Inverter<E> - cn.wjybxx.btree.decorator中的类
反转装饰器,它用于反转子节点的执行结果。
Inverter() - 类的构造器 cn.wjybxx.btree.decorator.Inverter
 
Inverter(Task<E>) - 类的构造器 cn.wjybxx.btree.decorator.Inverter
 
isAllChildCompleted() - 类中的方法 cn.wjybxx.btree.branch.Join
 
isAllChildCompleted() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
isAllChildCompleted() - 类中的方法 cn.wjybxx.btree.BranchTask
 
isAllChildSucceeded() - 类中的方法 cn.wjybxx.btree.branch.Join
 
isAutoCheckCancel() - 类中的方法 cn.wjybxx.btree.Task
 
isAutoListenCancel() - 类中的方法 cn.wjybxx.btree.Task
 
isAutoResetChildren() - 类中的方法 cn.wjybxx.btree.Task
 
isCancelled() - 类中的方法 cn.wjybxx.btree.Task
 
isCancelled(int) - 类中的静态方法 cn.wjybxx.btree.Status
 
isCancelling() - 类中的方法 cn.wjybxx.btree.CancelToken
是否已收到取消请求
isCompleted() - 类中的方法 cn.wjybxx.btree.Task
 
isCompleted(int) - 类中的静态方法 cn.wjybxx.btree.Status
 
isDisableDelayNotify() - 类中的方法 cn.wjybxx.btree.Task
 
isDisableEnterExecute() - 类中的方法 cn.wjybxx.btree.Task
 
isExecuteTriggeredByEnter() - 类中的方法 cn.wjybxx.btree.Task
run方法是否是enter触发的 1.用于Task.execute()方法判断当前是否和Task.enter(int)在同一帧,以决定是否执行某些逻辑。
isExecuting() - 类中的方法 cn.wjybxx.btree.Task
是否正在执行Task.execute()方法 该方法非常重要,主要处理心跳和事件方法之间的冲突。
isExited(int) - 类中的方法 cn.wjybxx.btree.Task
重入id对应的任务是否已退出,即:是否已执行Task.exit()方法。
isExitTriggeredByStop() - 类中的方法 cn.wjybxx.btree.Task
exit方法是否是由Task.stop()方法触发的
isFailed() - 类中的方法 cn.wjybxx.btree.Task
 
isFailed(int) - 类中的静态方法 cn.wjybxx.btree.Status
 
isFailedOrCancelled() - 类中的方法 cn.wjybxx.btree.Task
 
isFailedOrCancelled(int) - 类中的静态方法 cn.wjybxx.btree.Status
 
isFailFast() - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
 
isFailFast() - 类中的方法 cn.wjybxx.btree.branch.SelectorN
 
isFirstChild(Task<?>) - 类中的方法 cn.wjybxx.btree.BranchTask
 
isLastChild(Task<?>) - 类中的方法 cn.wjybxx.btree.BranchTask
 
isLocked(int) - 类中的方法 cn.wjybxx.btree.Task
 
isPlain() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
 
isReady(Task<E>, Task<?>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
isRedo() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
 
isReentered(int) - 类中的方法 cn.wjybxx.btree.Task
查询任务是否已被重入 1.若任务已经重入,则表示产生了递归执行 2.若任务未被重入,则可能正在运行或已结束
isRunning() - 类中的方法 cn.wjybxx.btree.Task
 
isRunning(int) - 类中的静态方法 cn.wjybxx.btree.Status
 
isStillborn() - 类中的方法 cn.wjybxx.btree.Task
任务是否未启动就失败了。
isSucceeded() - 类中的方法 cn.wjybxx.btree.Task
 
isSucceeded(int) - 类中的静态方法 cn.wjybxx.btree.Status
 
isUndo() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
 

J

Join<E> - cn.wjybxx.btree.branch中的类
Join 1.在得出结果之前不会重复执行已完成的任务。
Join() - 类的构造器 cn.wjybxx.btree.branch.Join
 
JoinAnyOf<E> - cn.wjybxx.btree.branch.join中的类
默认的AnyOf,不特殊处理取消 相当于并发编程中的anyOf
JoinAnyOf() - 类的构造器 cn.wjybxx.btree.branch.join.JoinAnyOf
 
JoinMain<E> - cn.wjybxx.btree.branch.join中的类
Main策略,当第一个任务完成时就完成。
JoinMain() - 类的构造器 cn.wjybxx.btree.branch.join.JoinMain
 
JoinPolicy<E> - cn.wjybxx.btree.branch中的接口
Join的完成策略 1.不要在Policy上缓存Join的child。
JoinSelector<E> - cn.wjybxx.btree.branch.join中的类
JoinSelector() - 类的构造器 cn.wjybxx.btree.branch.join.JoinSelector
 
JoinSelectorN<E> - cn.wjybxx.btree.branch.join中的类
JoinSelectorN() - 类的构造器 cn.wjybxx.btree.branch.join.JoinSelectorN
 
JoinSelectorN(int) - 类的构造器 cn.wjybxx.btree.branch.join.JoinSelectorN
 
JoinSequence<E> - cn.wjybxx.btree.branch.join中的类
Sequence 相当于并发编程中的WhenAll/AllOf
JoinSequence() - 类的构造器 cn.wjybxx.btree.branch.join.JoinSequence
 
JoinWaitAll<E> - cn.wjybxx.btree.branch.join中的类
等待所有任务完成后返回成功 相当于并发编程中的WaitAll
JoinWaitAll() - 类的构造器 cn.wjybxx.btree.branch.join.JoinWaitAll
 

L

LeafTask<E> - cn.wjybxx.btree中的类
叶子任务(不能有子节点)
LeafTask() - 类的构造器 cn.wjybxx.btree.LeafTask
 
loadManyFromFile(String, boolean, Predicate<? super TreeLoader.IEntry>) - 接口中的方法 cn.wjybxx.btree.TreeLoader
批量加载指定文件中的对象
loadManyFromFile(String, boolean, Predicate<? super TreeLoader.IEntry>) - 类中的方法 cn.wjybxx.btree.TreeLoader.NullLoader
 
loadObject(String) - 接口中的方法 cn.wjybxx.btree.TreeLoader
 
loadRootTask(String) - 接口中的方法 cn.wjybxx.btree.TreeLoader
 
loadTree(String) - 接口中的方法 cn.wjybxx.btree.TreeLoader
 
lock(int) - 类中的方法 cn.wjybxx.btree.Task
进行互斥 1.该锁是简单的互斥锁,不支持重入。
logger - 类中的静态变量 cn.wjybxx.btree.Task
 
LoopDecorator<E> - cn.wjybxx.btree.decorator中的类
循环节点抽象 如果LoopDecorator.execute()方法是有循环体的,那么一定要注意: 只有循环的尾部运行child才是安全的,如果在运行child后还读写其它数据,可能导致bug(小心递归)。
LoopDecorator() - 类的构造器 cn.wjybxx.btree.decorator.LoopDecorator
 
LoopDecorator(int) - 类的构造器 cn.wjybxx.btree.decorator.LoopDecorator
 

M

MASK_AUTO_LISTEN_CANCEL - 类中的静态变量 cn.wjybxx.btree.Task
 
MASK_AUTO_RESET_CHILDREN - 类中的静态变量 cn.wjybxx.btree.Task
 
MASK_CONTROL_FLOW_FLAGS - 类中的静态变量 cn.wjybxx.btree.Task
 
MASK_DISABLE_AUTO_CHECK_CANCEL - 类中的静态变量 cn.wjybxx.btree.Task
 
MASK_DISABLE_DELAY_NOTIFY - 类中的静态变量 cn.wjybxx.btree.Task
 
MASK_DISABLE_ENTER_EXECUTE - 类中的静态变量 cn.wjybxx.btree.Task
 
MAX_PREV_STATUS - 类中的静态变量 cn.wjybxx.btree.Status
这是Task类能捕获的最大前一个状态的值,超过该值时将被修正该值
maxLoopPerFrame - 类中的变量 cn.wjybxx.btree.decorator.LoopDecorator
每帧最大循环次数 - 避免死循环和占用较多CPU;默认1
MODE_ALWAYS - 类中的静态变量 cn.wjybxx.btree.decorator.Repeat
 
MODE_NEVER - 类中的静态变量 cn.wjybxx.btree.decorator.Repeat
 
MODE_ONLY_FAILED - 类中的静态变量 cn.wjybxx.btree.decorator.Repeat
 
MODE_ONLY_SUCCESS - 类中的静态变量 cn.wjybxx.btree.decorator.Repeat
 

N

NEW - 类中的静态变量 cn.wjybxx.btree.Status
初始状态
newChild() - 类中的方法 cn.wjybxx.btree.CancelToken
创建一个子token 1.子token会在当前token被取消的时候取消 2.如果当前token已取消,则子token也已取消
nextChild() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
normalize(int) - 类中的静态方法 cn.wjybxx.btree.Status
将给定状态码归一化,所有的失败码将被转为Status.ERROR
notifyChangeState(Task<E>, Task<E>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
nullLoader() - 接口中的静态方法 cn.wjybxx.btree.TreeLoader
 
NullLoader() - 类的构造器 cn.wjybxx.btree.TreeLoader.NullLoader
 

O

onCancelRequested(CancelToken) - 类中的方法 cn.wjybxx.btree.Task
取消令牌的回调方法 注意:如果未启动自动监听,手动监听时也建议绑定到该方法
onChildCompleted(Join<E>, Task<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinAnyOf
 
onChildCompleted(Join<E>, Task<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinMain
 
onChildCompleted(Join<E>, Task<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelector
 
onChildCompleted(Join<E>, Task<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
 
onChildCompleted(Join<E>, Task<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSequence
 
onChildCompleted(Join<E>, Task<E>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinWaitAll
 
onChildCompleted(Join<E>, Task<E>) - 接口中的方法 cn.wjybxx.btree.branch.JoinPolicy
Join在调用该方法前更新了完成计数和成功计数
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.ActiveSelector
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.Foreach
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.Join
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.Selector
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.SelectorN
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.Sequence
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.ServiceParallel
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.SimpleParallel
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
子类的实现模板:
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.Switch
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysCheckGuard
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysFail
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysRunning
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysSuccess
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.decorator.Inverter
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.decorator.OnlyOnce
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.decorator.Repeat
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.decorator.SubtreeRef
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.decorator.UntilCond
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.decorator.UntilFail
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.decorator.UntilSuccess
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.LeafTask
 
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.Task
子节点进入完成状态 1.避免方法数太多,实现类测试task的status即可 2.Task.getNormalizedStatus()有助于switch测试 3.task可能是取消状态,甚至可能没运行过直接失败(前置条件失败) 4.钩子任务和guard不会调用该方法 5.Task.isExecuting()有助于检测冲突,减少调用栈深度 6.同一子节点连续通知的情况下,completed的逻辑应当覆盖Task.onChildRunning(Task)的影响。
onChildCompleted(Task<E>) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
onChildRunning(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.Parallel
并发节点通常不需要在该事件中将自己更新为运行状态,而是应该在Task.execute()方法的末尾更新
onChildRunning(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
onChildRunning(Task<E>) - 类中的方法 cn.wjybxx.btree.Decorator
 
onChildRunning(Task<E>) - 类中的方法 cn.wjybxx.btree.LeafTask
 
onChildRunning(Task<E>) - 类中的方法 cn.wjybxx.btree.Task
子节点还需要继续运行 1.child在运行期间只会通知一次 2.该方法不应该触发状态迁移,即不应该使自己进入完成状态
onChildRunning(Task<E>) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
onEntryCompleted(TaskEntry<E>) - 接口中的方法 cn.wjybxx.btree.TaskEntryHandler
 
onEvent(Join<E>, Object) - 类中的方法 cn.wjybxx.btree.branch.join.JoinAnyOf
 
onEvent(Join<E>, Object) - 类中的方法 cn.wjybxx.btree.branch.join.JoinMain
 
onEvent(Join<E>, Object) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelector
 
onEvent(Join<E>, Object) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
 
onEvent(Join<E>, Object) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSequence
 
onEvent(Join<E>, Object) - 类中的方法 cn.wjybxx.btree.branch.join.JoinWaitAll
 
onEvent(Join<E>, Object) - 接口中的方法 cn.wjybxx.btree.branch.JoinPolicy
join节点收到外部事件
onEvent(Object) - 类中的方法 cn.wjybxx.btree.Task
Task收到外部事件
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.branch.Join
 
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.branch.ServiceParallel
 
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.branch.SimpleParallel
 
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.ConditionTask
条件节点正常情况下不会触发事件
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.ConditionTask2
条件节点正常情况下不会触发事件
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.Decorator
 
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.leaf.Failure
 
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.leaf.Running
 
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.leaf.SimpleRandom
 
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.leaf.Success
 
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.leaf.WaitFrame
 
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.Task
对于控制节点,通常将事件派发给约定的子节点或钩子节点。
onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
OnlyOnce<E> - cn.wjybxx.btree.decorator中的类
只执行一次。
OnlyOnce() - 类的构造器 cn.wjybxx.btree.decorator.OnlyOnce
 
OnlyOnce(Task<E>) - 类的构造器 cn.wjybxx.btree.decorator.OnlyOnce
 
onNextStateAbsent(StateMachineTask<E>, Task<E>) - 接口中的方法 cn.wjybxx.btree.fsm.StateMachineHandler
当状态机没有下一个状态时调用该方法,以避免无可用状态 注意: 1.状态机启动时不会调用该方法 2.如果该方法返回后仍无可用状态,将触发无状态逻辑 3.
onNextStateGuardFailed(StateMachineTask<E>, Task<E>) - 接口中的方法 cn.wjybxx.btree.fsm.StateMachineHandler
下个状态的前置条件检查失败
onNoChildRunning() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 

P

Parallel<E> - cn.wjybxx.btree.branch中的类
并行节点基类 定义该类主要说明一些注意事项,包括: 1.在处理子节点完成事件的时候,避免运行execute方法,否则可能导致其它task单帧内运行多次。
Parallel() - 类的构造器 cn.wjybxx.btree.branch.Parallel
 
peekRedoState() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
查看redo对应的state
peekUndoState() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
查看undo对应的state
PLAIN - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
 
PLAIN_NEXT_FRAME - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
 
PLAIN_WHEN_COMPLETED - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
 
policy - 类中的变量 cn.wjybxx.btree.branch.Join
 

R

random - 类中的静态变量 cn.wjybxx.btree.leaf.SimpleRandom
允许指定自己的random
REDO - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
 
REDO_NEXT_FRAME - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
 
REDO_WHEN_COMPLETED - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
 
redoChangeState() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
重新进入到下一个状态
redoChangeState(ChangeStateArgs) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
重新进入到下一个状态
removeAllChild() - 类中的方法 cn.wjybxx.btree.BranchTask
 
removeAllChild() - 类中的方法 cn.wjybxx.btree.Task
删除所有的child -- 不是个常用方法
removeById(int) - 类中的方法 cn.wjybxx.btree.CancelToken
通过分配的监听器id删除监听器
removeChild(int) - 类中的方法 cn.wjybxx.btree.Task
删除指定索引的child
removeChild(CancelToken) - 类中的方法 cn.wjybxx.btree.CancelToken
删除子token
removeChild(Task<?>) - 类中的方法 cn.wjybxx.btree.Task
 
removeChildImpl(int) - 类中的方法 cn.wjybxx.btree.BranchTask
 
removeChildImpl(int) - 类中的方法 cn.wjybxx.btree.Decorator
 
removeChildImpl(int) - 类中的方法 cn.wjybxx.btree.LeafTask
 
removeChildImpl(int) - 类中的方法 cn.wjybxx.btree.Task
 
removeChildImpl(int) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
removeListener(Task<?>) - 类中的方法 cn.wjybxx.btree.CancelToken
删除task的监听
removeListener(Consumer<? super CancelToken>) - 类中的方法 cn.wjybxx.btree.CancelToken
删除监听器 注意:lambda可能无法正确匹配,因此建议使用CancelToken.removeById(int)
Repeat<E> - cn.wjybxx.btree.decorator中的类
重复N次
Repeat() - 类的构造器 cn.wjybxx.btree.decorator.Repeat
 
resetChildrenForRestart() - 类中的方法 cn.wjybxx.btree.Task
重置所有的子节点 1.如果有需要重置的特殊子节点,可以重写该方法以确保无遗漏
resetForRestart() - 类中的方法 cn.wjybxx.btree.branch.join.JoinAnyOf
 
resetForRestart() - 类中的方法 cn.wjybxx.btree.branch.join.JoinMain
 
resetForRestart() - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelector
 
resetForRestart() - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
 
resetForRestart() - 类中的方法 cn.wjybxx.btree.branch.join.JoinSequence
 
resetForRestart() - 类中的方法 cn.wjybxx.btree.branch.join.JoinWaitAll
 
resetForRestart() - 类中的方法 cn.wjybxx.btree.branch.Join
 
resetForRestart() - 接口中的方法 cn.wjybxx.btree.branch.JoinPolicy
重置自身数据
resetForRestart() - 类中的方法 cn.wjybxx.btree.branch.SelectorN
 
resetForRestart() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
resetForRestart() - 类中的方法 cn.wjybxx.btree.decorator.Repeat
 
resetForRestart() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
resetForRestart() - 类中的方法 cn.wjybxx.btree.Task
重置任务以便重新启动(清理运行产生的所有临时数据)
resetForRestart() - 类中的方法 cn.wjybxx.btree.TaskEntry
 
resetForRestart(Task<?>) - 类中的静态方法 cn.wjybxx.btree.Task
 
Running<E> - cn.wjybxx.btree.leaf中的类
 
Running() - 类的构造器 cn.wjybxx.btree.leaf.Running
 
RUNNING - 类中的静态变量 cn.wjybxx.btree.Status
执行中
runningChild - 类中的变量 cn.wjybxx.btree.branch.SingleRunningChildBranch
运行中的子节点
runningIndex - 类中的变量 cn.wjybxx.btree.branch.SingleRunningChildBranch
运行中的子节点索引

S

Selector<E> - cn.wjybxx.btree.branch中的类
 
Selector() - 类的构造器 cn.wjybxx.btree.branch.Selector
 
Selector(Task<E>, Task<E>) - 类的构造器 cn.wjybxx.btree.branch.Selector
 
Selector(List<Task<E>>) - 类的构造器 cn.wjybxx.btree.branch.Selector
 
SelectorN<E> - cn.wjybxx.btree.branch中的类
多选Selector。
SelectorN() - 类的构造器 cn.wjybxx.btree.branch.SelectorN
 
SelectorN(Task<E>, Task<E>) - 类的构造器 cn.wjybxx.btree.branch.SelectorN
 
SelectorN(List<Task<E>>) - 类的构造器 cn.wjybxx.btree.branch.SelectorN
 
Sequence<E> - cn.wjybxx.btree.branch中的类
 
Sequence() - 类的构造器 cn.wjybxx.btree.branch.Sequence
 
Sequence(Task<E>, Task<E>) - 类的构造器 cn.wjybxx.btree.branch.Sequence
 
Sequence(List<Task<E>>) - 类的构造器 cn.wjybxx.btree.branch.Sequence
 
ServiceParallel<E> - cn.wjybxx.btree.branch中的类
服务并发节点 其中第一个任务为主要任务,其余任务为后台服务。
ServiceParallel() - 类的构造器 cn.wjybxx.btree.branch.ServiceParallel
 
setAutoCheckCancel(boolean) - 类中的方法 cn.wjybxx.btree.Task
告知模板方法是否自动检测取消 1.默认值由Task.flags中的信息指定,默认自动检测 2.自动检测取消信号是一个动态的属性,可随时更改 -- 因此不要轻易缓存。
setAutoListenCancel(boolean) - 类中的方法 cn.wjybxx.btree.Task
告知模板方法是否自动监听取消事件 1.默认值由Task.flags中的信息指定,默认不自动监听!
setAutoResetChildren(boolean) - 类中的方法 cn.wjybxx.btree.Task
告知模板方法是否在Task.enter(int)前自动调用Task.resetChildrenForRestart() 1.默认值由Task.flags中的信息指定,默认不启用 2.要覆盖默认值应当在Task.beforeEnter()方法中调用 3.部分任务可能在调用Task.resetForRestart()之前不会再次运行
setBlackboard(E) - 类中的方法 cn.wjybxx.btree.Task
 
setBranch1(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
 
setBranch2(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
 
setBranch3(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
 
setBranch4(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
 
setBranch5(Task<E>) - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
 
setCancelled() - 类中的方法 cn.wjybxx.btree.Task
设置为取消
setCancelToken(CancelToken) - 类中的方法 cn.wjybxx.btree.Task
 
setChild(int, Task<E>) - 类中的方法 cn.wjybxx.btree.Task
替换指定索引位置的child (该方法可避免Task的结构发生变化,也可以减少事件数)
setChild(Task<E>) - 类中的方法 cn.wjybxx.btree.Decorator
 
setChildImpl(int, Task<E>) - 类中的方法 cn.wjybxx.btree.BranchTask
 
setChildImpl(int, Task<E>) - 类中的方法 cn.wjybxx.btree.Decorator
 
setChildImpl(int, Task<E>) - 类中的方法 cn.wjybxx.btree.LeafTask
 
setChildImpl(int, Task<E>) - 类中的方法 cn.wjybxx.btree.Task
 
setChildImpl(int, Task<E>) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
setChildren(List<Task<E>>) - 类中的方法 cn.wjybxx.btree.BranchTask
 
setCompleted(int, boolean) - 类中的方法 cn.wjybxx.btree.Task
设置为完成 -- 通常用于通过子节点的结果设置自己
setCond(Task<E>) - 类中的方法 cn.wjybxx.btree.decorator.UntilCond
 
setControl(Task<E>) - 类中的方法 cn.wjybxx.btree.Task
设置任务的控制节点
setControlData(Object) - 类中的方法 cn.wjybxx.btree.Task
 
setCountMode(int) - 类中的方法 cn.wjybxx.btree.decorator.Repeat
 
setCurStateResult(int) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
setDelayMode(int) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
setDisableDelayNotify(boolean) - 类中的方法 cn.wjybxx.btree.Task
是否禁用延迟通知 1.默认值由Task.flags中的信息指定,默认不禁用(即默认延迟通知) 2.要覆盖默认值应当在Task.beforeEnter()方法中调用 3.用于解决事件驱动模式下调用栈深度问题 -- 类似尾递归优化,可减少一半栈深度 4.先更新自己为完成状态,再通知父节点,这有时候非常有用 -- 在状态机中,你的State可以感知自己是成功或是失败。
setDisableEnterExecute(boolean) - 类中的方法 cn.wjybxx.btree.Task
告知模板方法否将Task.enter(int)Task.execute()方法分开执行, 1.默认值由Task.flags中的信息指定,默认不禁用 2.要覆盖默认值应当在Task.beforeEnter()方法中调用 3.该属性运行期间不应该调整
setEnterFrame(int) - 类中的方法 cn.wjybxx.btree.Task
慎重调用
setEntity(Object) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
setExitFrame(int) - 类中的方法 cn.wjybxx.btree.Task
慎重调用
setFailed(int) - 类中的方法 cn.wjybxx.btree.Task
设置为执行失败 -- 兼容Task.setGuardFailed(Task)
setFailFast(boolean) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
 
setFailFast(boolean) - 类中的方法 cn.wjybxx.btree.branch.SelectorN
 
setFailureStatus(int) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysFail
 
setFailureStatus(int) - 类中的方法 cn.wjybxx.btree.leaf.Failure
 
setFlags(int) - 类中的方法 cn.wjybxx.btree.Task
 
setGuard(Task<E>) - 类中的方法 cn.wjybxx.btree.Task
 
setGuardFailed(Task<E>) - 类中的方法 cn.wjybxx.btree.Task
设置为前置条件测试失败 1.该方法仅适用于control测试child的guard失败,令child在未运行的情况下直接失败的情况。
setHandler(TaskEntryHandler<E>) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
setInitState(Task<E>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
setInitStateProps(Object) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
setListener(StateMachineListener<E>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
setMachineName(String) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
setMaxLoopPerFrame(int) - 类中的方法 cn.wjybxx.btree.decorator.LoopDecorator
 
setName(String) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
setName(String) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
setNextState(Task<E>) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
setNextStateGuid(String) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
setNoneChildStatus(int) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
setP(float) - 类中的方法 cn.wjybxx.btree.leaf.SimpleRandom
 
setPolicy(JoinPolicy<E>) - 类中的方法 cn.wjybxx.btree.branch.Join
 
setRedoQueueSize(int) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
setRequired(int) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
 
setRequired(int) - 类中的方法 cn.wjybxx.btree.branch.SelectorN
 
setRequired(int) - 类中的方法 cn.wjybxx.btree.decorator.Repeat
 
setRequired(int) - 类中的方法 cn.wjybxx.btree.leaf.WaitFrame
 
setRootTask(Task<E>) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
setSharedProps(Object) - 类中的方法 cn.wjybxx.btree.Task
 
setStateMachineHandler(StateMachineHandler<E>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
setStateProps(Object) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
 
setSuccess() - 类中的方法 cn.wjybxx.btree.Task
设置为运行成功
setTreeLoader(TreeLoader) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
setTreeName(String) - 类中的方法 cn.wjybxx.btree.decorator.SubtreeRef
 
setType(int) - 类中的方法 cn.wjybxx.btree.TaskEntry
 
setUndoQueueSize(int) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
 
sharedProps - 类中的变量 cn.wjybxx.btree.Task
共享属性(配置上下文) 1.用于解决【数据和行为分离】架构下的配置需求,主要解决策划的配置问题,减少维护工作量。
shuffleChild() - 类中的方法 cn.wjybxx.btree.BranchTask
用于避免测试的子节点过于规律
SimpleParallel<E> - cn.wjybxx.btree.branch中的类
简单并发节点。
SimpleParallel() - 类的构造器 cn.wjybxx.btree.branch.SimpleParallel
 
SimpleRandom<E> - cn.wjybxx.btree.leaf中的类
简单随机任务 在正式的项目中,Random应当从实体上获取。
SimpleRandom() - 类的构造器 cn.wjybxx.btree.leaf.SimpleRandom
 
SimpleRandom(float) - 类的构造器 cn.wjybxx.btree.leaf.SimpleRandom
 
SingleRunningChildBranch<E> - cn.wjybxx.btree.branch中的类
非并行分支节点抽象 如果SingleRunningChildBranch.execute()方法是有循环体的,那么一定要注意: 只有循环的尾部运行child才是安全的,如果在运行child后还读写其它数据,可能导致bug(小心递归)。
SingleRunningChildBranch() - 类的构造器 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
SingleRunningChildBranch(Task<E>, Task<E>) - 类的构造器 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
SingleRunningChildBranch(List<Task<E>>) - 类的构造器 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
StateMachineHandler<E> - cn.wjybxx.btree.fsm中的接口
 
StateMachineListener<E> - cn.wjybxx.btree.fsm中的接口
 
StateMachineTask<E> - cn.wjybxx.btree.fsm中的类
状态机节点 1.redo和undo是很有用的特性,因此我们在顶层给予支持,但默认的队列不会保存状态。
StateMachineTask() - 类的构造器 cn.wjybxx.btree.fsm.StateMachineTask
 
Status - cn.wjybxx.btree中的类
行为树的Task的状态 1.
Status() - 类的构造器 cn.wjybxx.btree.Status
 
stop() - 类中的方法 cn.wjybxx.btree.Task
强制停止任务 1.只应该由Control调用,因此不会通知Control 2.未完成的任务默认会进入Cancelled状态 3.不命名为cancel,否则容易误用;我们设计的cancel是协作式的,可通过Task.cancelToken发出请求请求。
stop(Task<?>) - 类中的静态方法 cn.wjybxx.btree.Task
 
stopRunningChildren() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
 
stopRunningChildren() - 类中的方法 cn.wjybxx.btree.Decorator
 
stopRunningChildren() - 类中的方法 cn.wjybxx.btree.Task
停止所有运行中的子节点 1.该方法在自身的exit之前调用 2.如果有特殊的子节点(钩子任务),也需要在这里停止
stopSafely(Task<?>) - 类中的静态方法 cn.wjybxx.btree.Task
 
SubtreeRef<E> - cn.wjybxx.btree.decorator中的类
子树引用
SubtreeRef() - 类的构造器 cn.wjybxx.btree.decorator.SubtreeRef
 
SubtreeRef(String) - 类的构造器 cn.wjybxx.btree.decorator.SubtreeRef
 
succeededCount - 类中的变量 cn.wjybxx.btree.branch.Join
成功完成的子节点
Success<E> - cn.wjybxx.btree.leaf中的类
 
Success() - 类的构造器 cn.wjybxx.btree.leaf.Success
 
SUCCESS - 类中的静态变量 cn.wjybxx.btree.Status
执行成功 -- 最小的完成状态
Switch<E> - cn.wjybxx.btree.branch中的类
 
Switch() - 类的构造器 cn.wjybxx.btree.branch.Switch
 

T

Task<E> - cn.wjybxx.btree中的类
取消
Task() - 类的构造器 cn.wjybxx.btree.Task
 
TaskEntry<E> - cn.wjybxx.btree中的类
任务入口(可联想程序的Main)
TaskEntry() - 类的构造器 cn.wjybxx.btree.TaskEntry
 
TaskEntry(String, Task<E>, E, Object, TreeLoader) - 类的构造器 cn.wjybxx.btree.TaskEntry
 
TaskEntryHandler<E> - cn.wjybxx.btree中的接口
用于处理Entry的完成事件
template_checkGuard(Task<E>) - 类中的方法 cn.wjybxx.btree.Task
检查前置条件 1.如果未显式设置guard的上下文,会默认捕获当前Task的上下文 2.guard的上下文在运行结束后会被清理 3.guard只应该依赖共享上下文(黑板和props),不应当对父节点做任何的假设。
template_execute() - 类中的方法 cn.wjybxx.btree.Task
execute模板方法 注: 1.如果想减少方法调用,对于运行中的子节点,可直接调用子节点的模板方法。
template_runChild(Task<E>) - 类中的方法 cn.wjybxx.btree.Task
运行子节点,会检查子节点的前置条件
template_runChildDirectly(Task<E>) - 类中的方法 cn.wjybxx.btree.Task
运行子节点,不检查子节点的前置条件
template_runHook(Task<E>) - 类中的方法 cn.wjybxx.btree.Task
执行钩子任务,会检查前置条件 1.钩子任务不会触发Task.onChildRunning(Task)Task.onChildCompleted(Task) 2.前置条件其实是特殊的钩子任务
template_runHookDirectly(Task<E>) - 类中的方法 cn.wjybxx.btree.Task
执行钩子任务,不检查前置条件
test() - 类中的方法 cn.wjybxx.btree.ConditionTask
 
test() - 类中的方法 cn.wjybxx.btree.ConditionTask2
 
TIMEOUT - 类中的静态变量 cn.wjybxx.btree.Status
执行超时
ToFailure(int) - 类中的静态方法 cn.wjybxx.btree.Status
如果给定状态是失败码,则返回参数,否则返回默认失败码
TreeLoader - cn.wjybxx.btree中的接口
行为树加载器 1.虽命名为TreeLoader,但可加载任意导出对象,只因该Loader最初是为行为树设计的。
TreeLoader.IEntry - cn.wjybxx.btree中的接口
 
TreeLoader.NullLoader - cn.wjybxx.btree中的类
 
tryLoadObject(String) - 类中的方法 cn.wjybxx.btree.TreeLoader.NullLoader
 
tryLoadObject(String) - 接口中的方法 cn.wjybxx.btree.TreeLoader
1.加载时,通常应按照名字加载,再尝试按照guid加载。
tryLoadRootTask(String) - 接口中的方法 cn.wjybxx.btree.TreeLoader
尝试加载行为树的根节点
tryLock(int) - 类中的方法 cn.wjybxx.btree.Task
 

U

UNDO - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
 
UNDO_NEXT_FRAME - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
 
UNDO_WHEN_COMPLETED - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
 
undoChangeState() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
撤销到前一个状态
undoChangeState(ChangeStateArgs) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
撤销到前一个状态
unlock(int) - 类中的方法 cn.wjybxx.btree.Task
 
unsetControl() - 类中的方法 cn.wjybxx.btree.Task
删除任务的控制节点(用于清理) 该方法在任务结束时并不会自动调用,因为Task上的数据可能是有用的,不能立即删除,只有用户知道是否可以清理。
UntilCond<E> - cn.wjybxx.btree.decorator中的类
循环子节点直到给定的条件达成
UntilCond() - 类的构造器 cn.wjybxx.btree.decorator.UntilCond
 
UntilFail<E> - cn.wjybxx.btree.decorator中的类
重复运行子节点,直到该任务失败 (超类做了死循环避免)
UntilFail() - 类的构造器 cn.wjybxx.btree.decorator.UntilFail
 
UntilSuccess<E> - cn.wjybxx.btree.decorator中的类
 
UntilSuccess() - 类的构造器 cn.wjybxx.btree.decorator.UntilSuccess
 
update(int) - 类中的方法 cn.wjybxx.btree.TaskEntry
用户需要在每一帧调用该方法以驱动心跳逻辑

W

WaitFrame<E> - cn.wjybxx.btree.leaf中的类
等待N帧
WaitFrame() - 类的构造器 cn.wjybxx.btree.leaf.WaitFrame
 
WaitFrame(int) - 类的构造器 cn.wjybxx.btree.leaf.WaitFrame
 
withDelayMode(int) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
 
withExtraInfo(Object) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
 
withFrame(int) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
 

取消 - 类 cn.wjybxx.btree.Task中的搜索标记

心跳+事件驱动 - 类 cn.wjybxx.btree.Task中的搜索标记
A B C D E F G I J L M N O P R S T U W   
常量字段值|所有程序包|所有类和接口