索引
常量字段值|所有程序包|所有类和接口
A
- ActionTask<T> - cn.wjybxx.btree.leaf中的类
-
行为节点抽象 (并非所有行为节点都需要继承该类)
- ActionTask() - 类的构造器 cn.wjybxx.btree.leaf.ActionTask
- ActiveSelector<T> - cn.wjybxx.btree.branch中的类
-
主动选择节点 每次运行时都会重新测试节点的运行条件,选择一个新的可运行节点。
- ActiveSelector() - 类的构造器 cn.wjybxx.btree.branch.ActiveSelector
- ActiveSelector(List<Task<T>>) - 类的构造器 cn.wjybxx.btree.branch.ActiveSelector
- addChild(Task<T>) - 类中的方法 cn.wjybxx.btree.Task
-
1.尽量不要在运行时增删子节点(危险操作) 2.不建议将Task从一棵树转移到另一棵树,可能产生内存泄漏(引用未删除干净)
- addChildImpl(Task<T>) - 类中的方法 cn.wjybxx.btree.BranchTask
- addChildImpl(Task<T>) - 类中的方法 cn.wjybxx.btree.Decorator
- addChildImpl(Task<T>) - 类中的方法 cn.wjybxx.btree.LeafTask
- addChildImpl(Task<T>) - 类中的方法 cn.wjybxx.btree.Task
- addChildImpl(Task<T>) - 类中的方法 cn.wjybxx.btree.TaskEntry
- addListener(ICancelTokenListener) - 类中的方法 cn.wjybxx.btree.CancelToken
-
添加监听器
- addRedoState(Task<T>) - 类中的方法 cn.wjybxx.btree.fsm.StackStateMachineTask
-
向redo队列中添加一个状态
- addUndoState(Task<T>) - 类中的方法 cn.wjybxx.btree.fsm.StackStateMachineTask
-
向undo队列中添加一个状态
- AlwaysCheckGuard<T> - cn.wjybxx.btree.decorator中的类
-
每一帧都检查子节点的前置条件,如果前置条件失败,则取消child执行并返回失败。
- AlwaysCheckGuard() - 类的构造器 cn.wjybxx.btree.decorator.AlwaysCheckGuard
- AlwaysCheckGuard(Task<T>) - 类的构造器 cn.wjybxx.btree.decorator.AlwaysCheckGuard
- AlwaysFail<T> - cn.wjybxx.btree.decorator中的类
-
在子节点完成之后固定返回失败
- AlwaysFail() - 类的构造器 cn.wjybxx.btree.decorator.AlwaysFail
- AlwaysFail(Task<T>) - 类的构造器 cn.wjybxx.btree.decorator.AlwaysFail
- AlwaysRunning<T> - cn.wjybxx.btree.decorator中的类
-
在子节点完成之后仍返回运行。
- AlwaysRunning() - 类的构造器 cn.wjybxx.btree.decorator.AlwaysRunning
- AlwaysSuccess<T> - cn.wjybxx.btree.decorator中的类
-
在子节点完成之后固定返回成功
- AlwaysSuccess() - 类的构造器 cn.wjybxx.btree.decorator.AlwaysSuccess
- AlwaysSuccess(Task<T>) - 类的构造器 cn.wjybxx.btree.decorator.AlwaysSuccess
B
- beforeChangeState(StateMachineTask<T>, Task<T>, Task<T>) - 接口中的方法 cn.wjybxx.btree.fsm.StateMachineHandler
-
该方法在进入新状态前调用 1.两个参数最多一个为null 2.可以设置新状态的黑板和其它数据 3.用户此时可为新状态分配上下文(黑板、取消令牌、共享属性);同时清理前一个状态的上下文 4.用户此时可拿到新状态
ChangeStateArgs,后续则不可 5.如果task需要感知redo和undo,则由用户将信息写入黑板 - beforeChangeState(StateMachineTask<T>, Task<T>, Task<T>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineHandlers.RedoHandler
- beforeChangeState(Task<T>, Task<T>) - 类中的方法 cn.wjybxx.btree.fsm.StackStateMachineTask
- beforeChangeState(Task<T>, Task<T>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- beforeEnter() - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
- beforeEnter() - 类中的方法 cn.wjybxx.btree.branch.Join
- beforeEnter() - 类中的方法 cn.wjybxx.btree.branch.Parallel
-
模板类不重写enter方法,只有数据初始化逻辑
- beforeEnter() - 类中的方法 cn.wjybxx.btree.branch.SelectorN
- beforeEnter() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
-
模板类不重写enter方法,只有数据初始化逻辑
- beforeEnter() - 类中的方法 cn.wjybxx.btree.decorator.AlwaysRunning
- beforeEnter() - 类中的方法 cn.wjybxx.btree.Decorator
-
模板类不重写enter方法,只有数据初始化逻辑
- beforeEnter() - 类中的方法 cn.wjybxx.btree.decorator.LoopDecorator
- beforeEnter() - 类中的方法 cn.wjybxx.btree.decorator.Repeat
- beforeEnter() - 类中的方法 cn.wjybxx.btree.decorator.SubtreeRef
- beforeEnter() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- beforeEnter() - 类中的方法 cn.wjybxx.btree.Task
-
该方法用于初始化对象。
- beforeEnter(Join<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinAnyOf
- beforeEnter(Join<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinMain
- beforeEnter(Join<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelector
- beforeEnter(Join<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
- beforeEnter(Join<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSequence
- beforeEnter(Join<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinWaitAll
- beforeEnter(Join<T>) - 接口中的方法 cn.wjybxx.btree.branch.JoinPolicy
-
启动前初始化
- beforeEnter(StateMachineTask<T>) - 接口中的方法 cn.wjybxx.btree.fsm.StateMachineHandler
-
handler可能也有需要初始化的数据。
- beforeEnter(StateMachineTask<T>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineHandlers.RedoHandler
- blackboard - 类中的变量 cn.wjybxx.btree.Task
-
任务运行时依赖的黑板(主要上下文) 1.每个任务可有独立的黑板(数据); 2.运行时不能为null; 3.如果是自动继承的,exit后自动删除;如果是Control赋值的,则由control删除。
- BranchTask<T> - cn.wjybxx.btree中的类
-
分支任务(可能有多个子节点)
- BranchTask() - 类的构造器 cn.wjybxx.btree.BranchTask
- BranchTask(Task<T>, Task<T>) - 类的构造器 cn.wjybxx.btree.BranchTask
- BranchTask(List<Task<T>>) - 类的构造器 cn.wjybxx.btree.BranchTask
C
- cancel() - 类中的方法 cn.wjybxx.btree.CancelToken
-
发送取消信号,使用默认取消码
CancelCodes.REASON_DEFAULT - cancel(int) - 类中的方法 cn.wjybxx.btree.CancelToken
-
发送取消信号
- cancelCode() - 类中的方法 cn.wjybxx.btree.CancelToken
-
取消码 1.按bit位存储信息,包括是否请求中断,是否超时,紧急程度等 2.低20位为取消原因;高12位为特殊信息
CancelCodes.MASK_REASON3.不为0表示已发起取消请求 4.取消时至少赋值一个信息,reason通常应该赋值 - CANCELLED - 类中的静态变量 cn.wjybxx.btree.TaskStatus
-
被取消 -- 需要放在所有失败码的前面,用户可以可以通过比较大小判断;向上传播时要小心
- cancelToken - 类中的变量 cn.wjybxx.btree.branch.ParallelChildHelper
-
子节点的取消令牌 -- 应当在运行前赋值
- cancelToken - 类中的变量 cn.wjybxx.btree.Task
-
取消令牌(取消上下文) 1.每个任务可有独立的取消信号; 2.运行时不能为null; 3.如果是自动继承的,exit后自动删除;如果是Control赋值的,则由control删除。
- CancelToken - cn.wjybxx.btree中的类
-
行为树模块使用的取消令牌 1.行为树模块需要的功能不多,且需要进行一些特殊的优化,因此去除对Concurrent模块的依赖。
- CancelToken() - 类的构造器 cn.wjybxx.btree.CancelToken
- CancelToken(int) - 类的构造器 cn.wjybxx.btree.CancelToken
- canHandleEvent(Object) - 类中的方法 cn.wjybxx.btree.leaf.ConditionTask
-
条件节点正常情况下不会触发事件
- canHandleEvent(Object) - 类中的方法 cn.wjybxx.btree.Task
-
该方法用于测试自己的状态和事件数据 (任何事件处理中,都用用户自身检测取消信号)
- canHandleEvent(Object) - 类中的方法 cn.wjybxx.btree.TaskEntry
- changeState(Task<T>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
-
切换状态 -- 如果状态机处于运行中,则立即切换
- changeState(Task<T>, ChangeStateArgs) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
-
切换状态 1.如果当前有一个待切换的状态,则会被悄悄丢弃(todo 可以增加一个通知) 2.无论何种模式,在当前状态进入完成状态时一定会触发 3.如果状态机未运行,则仅仅保存在那里,等待下次运行的时候执行 4.关于如何避免当前状态被取消,可参考
ChangeStateTask - ChangeStateArgs - cn.wjybxx.btree.fsm中的类
-
状态切换参数 建议用户通过原型对象的
ChangeStateArgs.withExtraInfo(Object)等方法创建 - ChangeStateTask<T> - cn.wjybxx.btree.fsm中的类
- ChangeStateTask() - 类的构造器 cn.wjybxx.btree.fsm.ChangeStateTask
- ChangeStateTask(Task<T>) - 类的构造器 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.TaskStatus
-
没有子节点
- children - 类中的变量 cn.wjybxx.btree.BranchTask
- 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<T> - cn.wjybxx.btree.leaf中的类
-
条件节点 注意:并非条件节点必须继承该类。
- ConditionTask() - 类的构造器 cn.wjybxx.btree.leaf.ConditionTask
- curLoop - 类中的变量 cn.wjybxx.btree.decorator.LoopDecorator
-
执行前+1,因此从1开始
D
- Decorator<T> - cn.wjybxx.btree中的类
-
装饰任务(最多只有一个子节点)
- Decorator() - 类的构造器 cn.wjybxx.btree.Decorator
- Decorator(Task<T>) - 类的构造器 cn.wjybxx.btree.Decorator
- defaultHandler() - 类中的静态方法 cn.wjybxx.btree.fsm.StateMachineHandlers
- degree() - 类中的方法 cn.wjybxx.btree.CancelToken
-
取消的紧急程度
- DELAY_CURRENT_COMPLETED - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
-
在当前子节点完成的时候切换 1.其它延迟模式也会在当前状态完成时触发; 2.通常用于状态主动退出时,可避免自身进入被取消状态 -- 先调用changeState,然后setSuccess;
- DELAY_NONE - 类中的静态变量 cn.wjybxx.btree.fsm.ChangeStateArgs
-
不延迟
- delayArg - 类中的变量 cn.wjybxx.btree.fsm.ChangeStateArgs
-
延迟参数
- delayMode - 类中的变量 cn.wjybxx.btree.fsm.ChangeStateArgs
-
延迟模式 -- 不再限制,允许用户扩展
- discardTempNextState() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
-
丢弃未切换的临时状态
E
- enableInline - 类中的静态变量 cn.wjybxx.btree.TaskInlineHelper
-
是否启用内联
- enter(int) - 类中的方法 cn.wjybxx.btree.branch.Join
- enter(int) - 类中的方法 cn.wjybxx.btree.branch.Selector
- enter(int) - 类中的方法 cn.wjybxx.btree.branch.SelectorN
- enter(int) - 类中的方法 cn.wjybxx.btree.branch.Sequence
- enter(int) - 类中的方法 cn.wjybxx.btree.branch.ServiceParallel
- enter(int) - 类中的方法 cn.wjybxx.btree.branch.SimpleParallel
- enter(int) - 类中的方法 cn.wjybxx.btree.decorator.Inverter
- enter(int) - 类中的方法 cn.wjybxx.btree.decorator.Repeat
- enter(int) - 类中的方法 cn.wjybxx.btree.Task
-
该方法在Task进入运行状态时执行 1.数据初始化需要放在
Task.beforeEnter()中,避免执行逻辑时对象未初始化完成。 - enter(Join<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinAnyOf
- enter(Join<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinMain
- enter(Join<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelector
- enter(Join<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
- enter(Join<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSequence
- enter(Join<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinWaitAll
- enter(Join<T>) - 接口中的方法 cn.wjybxx.btree.branch.JoinPolicy
-
启动
- entity - 类中的变量 cn.wjybxx.btree.TaskEntry
-
行为树绑定的实体 -- 最好也存储在黑板里;这里的字段本是为了提高性能
- ERROR - 类中的静态变量 cn.wjybxx.btree.TaskStatus
-
默认失败码 -- 是最小的失败码
- 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.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.ActionTask
- execute() - 类中的方法 cn.wjybxx.btree.leaf.ConditionTask
- 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.leaf.ActionTask
-
我们的大多数行为节点逻辑都较为简单,不需要事件驱动特性,因而可以转换为同步返回的节点。
- exit() - 类中的方法 cn.wjybxx.btree.branch.Parallel
- exit() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
- exit() - 类中的方法 cn.wjybxx.btree.Decorator
- exit() - 类中的方法 cn.wjybxx.btree.fsm.StackStateMachineTask
- exit() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- exit() - 类中的方法 cn.wjybxx.btree.Task
-
该方法在Task进入完成状态时执行 1.该方法与
Task.enter(int)对应,通常用于停止Task.enter(int)中启动的逻辑。 - exportControlFlowOptions() - 类中的方法 cn.wjybxx.btree.Task
-
将task上的临时控制标记写回到flags中
- extraInfo - 类中的变量 cn.wjybxx.btree.fsm.ChangeStateArgs
-
期望传递给Listener的数据
F
- Failure<T> - cn.wjybxx.btree.leaf中的类
- Failure() - 类的构造器 cn.wjybxx.btree.leaf.Failure
- findStateMachine(Task<T>) - 类中的静态方法 cn.wjybxx.btree.fsm.StateMachineTask
-
查找task最近的状态机节点 1.仅递归查询父节点和长兄节点 2.优先查找附近的,然后测试长兄节点 - 状态机作为第一个节点的情况比较常见
- findStateMachine(Task<T>, String) - 类中的静态方法 cn.wjybxx.btree.fsm.StateMachineTask
-
查找task最近的状态机节点 1.名字不为空的情况下,支持从兄弟节点中查询 2.优先测试父节点,然后测试兄弟节点
- FixedSwitch<T> - cn.wjybxx.btree.branch中的类
-
展开的switch 在编辑器中,children根据坐标排序,容易变动;这里将其展开为字段,从而方便配置。
- FixedSwitch() - 类的构造器 cn.wjybxx.btree.branch.FixedSwitch
- flags - 类中的变量 cn.wjybxx.btree.Task
-
任务的自定义标识 1.对任务进行标记是一个常见的需求,我们将其定义在顶层以简化使用 2.在运行期间不应该变动 3.高8位为流程控制特征值,会在任务运行前拷贝到ctl -- 以支持在编辑器导中指定Task的运行特征。
- Foreach<T> - cn.wjybxx.btree.branch中的类
-
迭代所有的子节点最后返回成功
- Foreach() - 类的构造器 cn.wjybxx.btree.branch.Foreach
- Foreach(List<Task<T>>) - 类的构造器 cn.wjybxx.btree.branch.Foreach
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
- 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
- getChildHelper(Task<T>) - 类中的静态方法 cn.wjybxx.btree.branch.Parallel
-
获取child的helper
- 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
- getControlFlowOptions() - 类中的方法 cn.wjybxx.btree.Task
-
获取任务的控制流标记位
- getCountMode() - 类中的方法 cn.wjybxx.btree.decorator.Repeat
- getCurFrame() - 类中的方法 cn.wjybxx.btree.TaskEntry
- getCurState() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
-
获取当前状态
- getDelayArg() - 类中的方法 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
- 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.branch.Switch
- getHandler() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- getHandler() - 类中的方法 cn.wjybxx.btree.TaskEntry
- getInitState() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- getInitStateProps() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- getInlinedRunningChild() - 类中的方法 cn.wjybxx.btree.TaskInlineHelper
-
获取被内联运行的子节点
- getInlineHelper() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
- getInlineHelper() - 类中的方法 cn.wjybxx.btree.Decorator
- 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
-
获取最后一个子节点
- getMachineName() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
- getMaxLoop() - 类中的方法 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
- getNormalizedStatus() - 类中的方法 cn.wjybxx.btree.Task
-
获取归一化后的状态码,所有的失败码都转换为
TaskStatus.ERROR - getP() - 类中的方法 cn.wjybxx.btree.leaf.SimpleRandom
- getPolicy() - 类中的方法 cn.wjybxx.btree.branch.Join
- getPrevStatus() - 类中的方法 cn.wjybxx.btree.Task
-
获取任务前一次的执行结果 1.取值范围[0,63] -- 其实只要能区分成功失败就够; 2.这并不是一个运行时必须的属性,而是为Debug和UI视图服务的;
- getRedoQueueCapacity() - 类中的方法 cn.wjybxx.btree.fsm.StackStateMachineTask
- getReentryId() - 类中的方法 cn.wjybxx.btree.CancelToken
- 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.运行帧数是非常重要的统计属性,值得我们定义在顶层. - getRunningChild() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
-
获取运行中的子节点 -- 不可结束后查询
- getRunningIndex() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
-
允许外部在结束后查询
- getSharedProps() - 类中的方法 cn.wjybxx.btree.Task
- getStateProps() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
- getStatus() - 类中的方法 cn.wjybxx.btree.Task
-
获取原始的状态码
- getSubtreeName() - 类中的方法 cn.wjybxx.btree.decorator.SubtreeRef
- getSucceededCount() - 类中的方法 cn.wjybxx.btree.branch.Join
- getSucceededCount() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
-
成功的子节点数量
- getTaskEntry() - 类中的方法 cn.wjybxx.btree.Task
- getTempNextState() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
-
获取临时的下一个状态
- getTreeLoader() - 类中的方法 cn.wjybxx.btree.TaskEntry
- getType() - 类中的方法 cn.wjybxx.btree.TaskEntry
- getType() - 接口中的方法 cn.wjybxx.btree.TreeLoader.IEntry
-
入口对象的类型,通常用于表示其作用
- getUndoQueueCapacity() - 类中的方法 cn.wjybxx.btree.fsm.StackStateMachineTask
- GUARD_FAILED - 类中的静态变量 cn.wjybxx.btree.TaskStatus
-
前置条件检查失败 -- 未运行的情况下直接失败;注意!
H
- handler - 类中的变量 cn.wjybxx.btree.fsm.StateMachineTask
-
默认不序列化
- handler - 类中的变量 cn.wjybxx.btree.TaskEntry
-
用于Entry的事件驱动
- hasListener(ICancelTokenListener) - 类中的方法 cn.wjybxx.btree.CancelToken
-
查询是否存在给定的监听器
- hasNextLoop() - 类中的方法 cn.wjybxx.btree.decorator.LoopDecorator
-
是否还有下一次循环
I
- ICancelTokenListener - cn.wjybxx.btree中的接口
- 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
- initChildHelpers(boolean) - 类中的方法 cn.wjybxx.btree.branch.Parallel
-
初始化child关联的helper 1.默认会设置为child的controlData,以避免反向查找开销。
- initState - 类中的变量 cn.wjybxx.btree.fsm.StateMachineTask
-
初始状态
- initStateProps - 类中的变量 cn.wjybxx.btree.fsm.StateMachineTask
-
初始状态的属性
- inlineChild(Task<T>) - 类中的方法 cn.wjybxx.btree.TaskInlineHelper
-
尝试内联运行中的子节点
- inlineHelper - 类中的变量 cn.wjybxx.btree.branch.SingleRunningChildBranch
-
被内联运行的子节点 1.该字段定义在这里是为了减少抽象层次,该类并不提供功能。
- inlineHelper - 类中的变量 cn.wjybxx.btree.Decorator
-
被内联运行的子节点 1.该字段定义在这里是为了减少抽象层次,该类并不提供功能。
- inlineHelper - 类中的变量 cn.wjybxx.btree.TaskEntry
-
用于内联优化
- INSUFFICIENT_CHILD - 类中的静态变量 cn.wjybxx.btree.TaskStatus
-
子节点不足
- invert(int) - 类中的静态方法 cn.wjybxx.btree.TaskStatus
-
如果给定状态是失败码,则返回成功;如果是成功,则返回默认失败码;如果是取消则返回取消;
- Inverter<T> - cn.wjybxx.btree.decorator中的类
-
反转装饰器,它用于反转子节点的执行结果。
- Inverter() - 类的构造器 cn.wjybxx.btree.decorator.Inverter
- Inverter(Task<T>) - 类的构造器 cn.wjybxx.btree.decorator.Inverter
- isActiveInHierarchy() - 类中的方法 cn.wjybxx.btree.Task
-
当前节点及其所有父节点是否都为active状态
- isActiveSelf() - 类中的方法 cn.wjybxx.btree.Task
-
当前节点自身是否为active状态
- isAllChildCompleted() - 类中的方法 cn.wjybxx.btree.branch.Join
- isAllChildCompleted() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
-
是否所有子节点已进入完成状态
- isAllChildSucceeded() - 类中的方法 cn.wjybxx.btree.branch.Join
- isAutoListenCancel() - 类中的方法 cn.wjybxx.btree.Task
- isAutoResetChildren() - 类中的方法 cn.wjybxx.btree.Task
- isBlackboardPerChild() - 类中的方法 cn.wjybxx.btree.Task
- isCancelled() - 类中的方法 cn.wjybxx.btree.Task
-
任务是否已被取消
- isCancelled(int) - 类中的静态方法 cn.wjybxx.btree.TaskStatus
- isCancelling() - 类中的方法 cn.wjybxx.btree.CancelToken
-
是否已收到取消信号 任务的执行者将持有该令牌,在调度任务前会检测取消信号;如果任务已经开始,则由用户的任务自身检测取消和中断信号。
- isCancelTokenPerChild() - 类中的方法 cn.wjybxx.btree.Task
- isCheckingGuard() - 类中的方法 cn.wjybxx.btree.Task
-
当前是否是条件检查上下文
- isCompleted() - 类中的方法 cn.wjybxx.btree.Task
-
任务是否已完成(成功、失败、取消)
- isCompleted(int) - 类中的静态方法 cn.wjybxx.btree.TaskStatus
- isExecuteTriggeredByEnter() - 类中的方法 cn.wjybxx.btree.Task
-
execute方法是否是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.TaskStatus
- isFailedOrCancelled() - 类中的方法 cn.wjybxx.btree.Task
-
任务是否已失败或被取消
- isFailedOrCancelled(int) - 类中的静态方法 cn.wjybxx.btree.TaskStatus
- isFailFast() - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
- isFailFast() - 类中的方法 cn.wjybxx.btree.branch.SelectorN
- isFiring() - 类中的方法 cn.wjybxx.btree.CancelToken
- isFirstChild(Task<?>) - 类中的方法 cn.wjybxx.btree.BranchTask
-
是否是第一个子节点
- isInlinable() - 类中的方法 cn.wjybxx.btree.Task
-
task是否支持内联
- isInvertedGuard() - 类中的方法 cn.wjybxx.btree.Task
- isLastChild(Task<?>) - 类中的方法 cn.wjybxx.btree.BranchTask
-
是否是第最后一个子节点
- isManualCheckCancel() - 类中的方法 cn.wjybxx.btree.Task
- isPlain() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
- isReady(Task<T>, Task<?>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- isRedo() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
- isRunning() - 类中的方法 cn.wjybxx.btree.Task
-
任务是否正在运行
- isRunning(int) - 类中的静态方法 cn.wjybxx.btree.TaskStatus
- isSlowStart() - 类中的方法 cn.wjybxx.btree.Task
- isStillborn() - 类中的方法 cn.wjybxx.btree.Task
-
任务是否未启动就失败了。
- isSucceeded() - 类中的方法 cn.wjybxx.btree.Task
-
任务是否已成功
- isSucceeded(int) - 类中的静态方法 cn.wjybxx.btree.TaskStatus
- isUndo() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
J
- Join<T> - cn.wjybxx.btree.branch中的类
-
Join 1.在得出结果之前不会重复执行已完成的任务。
- Join() - 类的构造器 cn.wjybxx.btree.branch.Join
- JoinAnyOf<T> - cn.wjybxx.btree.branch.join中的类
-
默认的AnyOf,不特殊处理取消 相当于并发编程中的anyOf
- JoinAnyOf() - 类的构造器 cn.wjybxx.btree.branch.join.JoinAnyOf
- JoinMain<T> - cn.wjybxx.btree.branch.join中的类
-
Main策略,当第一个任务完成时就完成。
- JoinMain() - 类的构造器 cn.wjybxx.btree.branch.join.JoinMain
- JoinPolicy<T> - cn.wjybxx.btree.branch中的接口
-
Join的完成策略 1.不要在Policy上缓存Join的child。
- JoinSelector<T> - cn.wjybxx.btree.branch.join中的类
- JoinSelector() - 类的构造器 cn.wjybxx.btree.branch.join.JoinSelector
- JoinSelectorN<T> - cn.wjybxx.btree.branch.join中的类
- JoinSelectorN() - 类的构造器 cn.wjybxx.btree.branch.join.JoinSelectorN
- JoinSelectorN(int) - 类的构造器 cn.wjybxx.btree.branch.join.JoinSelectorN
- JoinSequence<T> - cn.wjybxx.btree.branch.join中的类
-
Sequence相当于并发编程中的WhenAll/AllOf - JoinSequence() - 类的构造器 cn.wjybxx.btree.branch.join.JoinSequence
- JoinWaitAll<T> - cn.wjybxx.btree.branch.join中的类
-
等待所有任务完成后返回成功 相当于并发编程中的WaitAll
- JoinWaitAll() - 类的构造器 cn.wjybxx.btree.branch.join.JoinWaitAll
L
- LeafTask<T> - cn.wjybxx.btree中的类
-
叶子任务(不能有子节点)
- LeafTask() - 类的构造器 cn.wjybxx.btree.LeafTask
- loadManyFromFile(String, Predicate<? super TreeLoader.IEntry>) - 接口中的方法 cn.wjybxx.btree.TreeLoader
-
批量加载指定文件中的对象
- loadManyFromFile(String, Predicate<? super TreeLoader.IEntry>, boolean) - 接口中的方法 cn.wjybxx.btree.TreeLoader
-
批量加载指定文件中的对象
- loadManyFromFile(String, Predicate<? super TreeLoader.IEntry>, boolean) - 类中的方法 cn.wjybxx.btree.TreeLoader.NullLoader
- loadObject(String) - 接口中的方法 cn.wjybxx.btree.TreeLoader
- loadRootTask(String) - 接口中的方法 cn.wjybxx.btree.TreeLoader
- loadTree(String) - 接口中的方法 cn.wjybxx.btree.TreeLoader
- logger - 类中的静态变量 cn.wjybxx.btree.Task
- LoopDecorator<T> - cn.wjybxx.btree.decorator中的类
-
循环节点抽象
- LoopDecorator() - 类的构造器 cn.wjybxx.btree.decorator.LoopDecorator
- LoopDecorator(Task<T>) - 类的构造器 cn.wjybxx.btree.decorator.LoopDecorator
M
- MASK_AUTO_LISTEN_CANCEL - 类中的静态变量 cn.wjybxx.btree.Task
- MASK_AUTO_RESET_CHILDREN - 类中的静态变量 cn.wjybxx.btree.Task
- MASK_BLACKBOARD_PER_CHILD - 类中的静态变量 cn.wjybxx.btree.Task
- MASK_CANCEL_TOKEN_PER_CHILD - 类中的静态变量 cn.wjybxx.btree.Task
- MASK_CONTROL_FLOW_OPTIONS - 类中的静态变量 cn.wjybxx.btree.Task
-
高8位为流程控制特征值(对外开放)
- MASK_INVERTED_GUARD - 类中的静态变量 cn.wjybxx.btree.Task
- MASK_MANUAL_CHECK_CANCEL - 类中的静态变量 cn.wjybxx.btree.Task
- MASK_SLOW_START - 类中的静态变量 cn.wjybxx.btree.Task
- MAX_LOOP_LIMIT - 类中的静态变量 cn.wjybxx.btree.TaskStatus
-
循环次数限制
- MAX_PREV_STATUS - 类中的静态变量 cn.wjybxx.btree.TaskStatus
-
这是Task类能捕获的最大前一个状态的值,超过该值时将被修正该值
- maxLoop - 类中的变量 cn.wjybxx.btree.decorator.LoopDecorator
-
最大循环次数,超过次数直接失败;大于0有效
- 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.TaskStatus
-
初始状态
- newInstance() - 类中的方法 cn.wjybxx.btree.CancelToken
-
创建一个同类型实例(默认只拷贝环境数据)
- newInstance(boolean) - 类中的方法 cn.wjybxx.btree.CancelToken
-
创建一个同类型实例(默认只拷贝环境数据)
- nextChild() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
- normalize(int) - 类中的静态方法 cn.wjybxx.btree.TaskStatus
-
将给定状态码归一化,所有的失败码将被转为
TaskStatus.ERROR - nullLoader() - 接口中的静态方法 cn.wjybxx.btree.TreeLoader
- NullLoader() - 类的构造器 cn.wjybxx.btree.TreeLoader.NullLoader
O
- onActiveInHierarchyChanged() - 类中的方法 cn.wjybxx.btree.Task
-
当节点在层次结构中的Active状态发生变化时调用 1.该方法只在Task处于运行状态下调用。
- onCancelRequested(CancelToken) - 类中的方法 cn.wjybxx.btree.CancelToken
-
收到其它地方的取消信号
- onCancelRequested(CancelToken) - 接口中的方法 cn.wjybxx.btree.ICancelTokenListener
-
该方法在取消令牌收到取消信号时执行 注意:由于取消令牌支持复用,如果监听器不能立即响应取消请求,则应当将取消码保存为局部变量。
- onCancelRequested(CancelToken) - 类中的方法 cn.wjybxx.btree.Task
-
取消令牌的回调方法 注意:如果未启动自动监听,手动监听时也建议绑定到该方法
- onChildCompleted(Join<T>, Task<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinAnyOf
- onChildCompleted(Join<T>, Task<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinMain
- onChildCompleted(Join<T>, Task<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelector
- onChildCompleted(Join<T>, Task<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
- onChildCompleted(Join<T>, Task<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSequence
- onChildCompleted(Join<T>, Task<T>) - 类中的方法 cn.wjybxx.btree.branch.join.JoinWaitAll
- onChildCompleted(Join<T>, Task<T>) - 接口中的方法 cn.wjybxx.btree.branch.JoinPolicy
-
Join在调用该方法前更新了完成计数和成功计数
- onChildCompleted(StateMachineTask<T>, Task<T>) - 接口中的方法 cn.wjybxx.btree.fsm.StateMachineHandler
-
该方法在当前状态正常结束(非stop结束)时调用
- onChildCompleted(StateMachineTask<T>, Task<T>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineHandlers.RedoHandler
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.ActiveSelector
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.Foreach
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.Join
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.Selector
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.SelectorN
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.Sequence
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.ServiceParallel
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.SimpleParallel
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
-
子类的实现模板:
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.Switch
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysCheckGuard
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysFail
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysRunning
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysSuccess
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.Inverter
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.OnlyOnce
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.Repeat
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.SubtreeRef
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.UntilCond
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.UntilFail
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.UntilSuccess
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- onChildCompleted(Task<T>) - 类中的方法 cn.wjybxx.btree.LeafTask
- onChildCompleted(Task<T>) - 类中的方法 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<T>) - 类中的方法 cn.wjybxx.btree.TaskEntry
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.ActiveSelector
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.Foreach
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.Join
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.Parallel
-
1.并发节点通常不需要在该事件中将自己更新为运行状态,而是应该在
Task.execute()方法的末尾更新 2.实现类可以在该方法中内联子节点 - onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.Selector
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.SelectorN
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.Sequence
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.ServiceParallel
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.SimpleParallel
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
-
子类如果支持内联,则重写该方法
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.Switch
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysCheckGuard
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysFail
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysRunning
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.AlwaysSuccess
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.Inverter
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.Decorator
-
子类如果支持内联,则重写该方法(超类不能安全内联)
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.OnlyOnce
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.Repeat
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.SubtreeRef
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.UntilCond
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.UntilFail
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.UntilSuccess
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.LeafTask
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.Task
-
子节点还需要继续运行 1.child在一次运行期间只会通知一次 2.该方法不应该触发状态迁移,即不应该使自己进入完成状态
- onChildRunning(Task<T>) - 类中的方法 cn.wjybxx.btree.TaskEntry
- onCompleted(TaskEntry<T>) - 接口中的方法 cn.wjybxx.btree.TaskEntryHandler
- onEvent(Join<T>, Object) - 类中的方法 cn.wjybxx.btree.branch.join.JoinAnyOf
- onEvent(Join<T>, Object) - 类中的方法 cn.wjybxx.btree.branch.join.JoinMain
- onEvent(Join<T>, Object) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelector
- onEvent(Join<T>, Object) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSelectorN
- onEvent(Join<T>, Object) - 类中的方法 cn.wjybxx.btree.branch.join.JoinSequence
- onEvent(Join<T>, Object) - 类中的方法 cn.wjybxx.btree.branch.join.JoinWaitAll
- onEvent(Join<T>, 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.Decorator
- onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
- onEventImpl(Object) - 类中的方法 cn.wjybxx.btree.leaf.ConditionTask
-
条件节点正常情况下不会触发事件
- 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<T> - cn.wjybxx.btree.decorator中的类
-
只执行一次。
- OnlyOnce() - 类的构造器 cn.wjybxx.btree.decorator.OnlyOnce
- OnlyOnce(Task<T>) - 类的构造器 cn.wjybxx.btree.decorator.OnlyOnce
- onNextStateAbsent(StateMachineTask<T>, Task<T>) - 接口中的方法 cn.wjybxx.btree.fsm.StateMachineHandler
-
当状态机没有下一个状态时调用该方法,以避免无可用状态 注意: 1.状态机启动时不会调用该方法 2.如果该方法返回后仍无可用状态,将触发无状态逻辑
- onNextStateAbsent(StateMachineTask<T>, Task<T>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineHandlers.RedoHandler
P
- Parallel<T> - cn.wjybxx.btree.branch中的类
-
并行节点基类 定义该类主要说明一些注意事项,包括: 1.不建议在子节点完成事件中再次驱动子节点,避免运行
Task.execute()方法,否则可能导致其它task单帧内运行多次。 - Parallel() - 类的构造器 cn.wjybxx.btree.branch.Parallel
- Parallel(List<Task<T>>) - 类的构造器 cn.wjybxx.btree.branch.Parallel
- ParallelChildHelper<T> - cn.wjybxx.btree.branch中的类
-
Q:为什么不直接叫
ChildHelper? - ParallelChildHelper() - 类的构造器 cn.wjybxx.btree.branch.ParallelChildHelper
- peekRedoState() - 类中的方法 cn.wjybxx.btree.fsm.StackStateMachineTask
-
查看redo对应的state
- peekUndoState() - 类中的方法 cn.wjybxx.btree.fsm.StackStateMachineTask
-
查看undo对应的state
- PLAIN - 类中的静态变量 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
- reason() - 类中的方法 cn.wjybxx.btree.CancelToken
-
取消的原因 (1~10为底层使用,10以上为用户自定义)
- REDO - 类中的静态变量 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.StackStateMachineTask
-
重新进入到下一个状态
- redoChangeState(ChangeStateArgs) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
-
重新进入到下一个状态
- redoHandler() - 类中的静态方法 cn.wjybxx.btree.fsm.StateMachineHandlers
- RedoHandler() - 类的构造器 cn.wjybxx.btree.fsm.StateMachineHandlers.RedoHandler
- reentryId - 类中的变量 cn.wjybxx.btree.branch.ParallelChildHelper
-
子节点的重入id
- refreshActive() - 类中的静态方法 cn.wjybxx.btree.TaskVisitors
- registerCancelListener() - 类中的方法 cn.wjybxx.btree.Task
-
注册取消信号监听器,任务在退出时将自动触发删除
- remListener(ICancelTokenListener) - 类中的方法 cn.wjybxx.btree.CancelToken
-
删除指定监听器
- remListener(ICancelTokenListener, boolean) - 类中的方法 cn.wjybxx.btree.CancelToken
-
删除监听器 注意:Task在处理取消信号时不需要调用该方法来删除自己,令牌会先删除Listener再通知。
- removeAllChild() - 类中的方法 cn.wjybxx.btree.Task
-
删除所有的child -- 不是个常用方法
- removeChild(int) - 类中的方法 cn.wjybxx.btree.Task
-
删除指定索引的child
- removeChild(Task<?>) - 类中的方法 cn.wjybxx.btree.Task
-
删除指定child
- 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
- Repeat<T> - cn.wjybxx.btree.decorator中的类
-
重复N次
- Repeat() - 类的构造器 cn.wjybxx.btree.decorator.Repeat
- reset() - 类中的方法 cn.wjybxx.btree.branch.ParallelChildHelper
- reset() - 类中的方法 cn.wjybxx.btree.CancelToken
-
重置状态(行为树模块取消令牌需要复用)
- resetChildrenForRestart() - 类中的方法 cn.wjybxx.btree.Task
-
重置所有的子节点
- 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.Parallel
- resetForRestart() - 类中的方法 cn.wjybxx.btree.branch.SelectorN
- resetForRestart() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
- resetForRestart() - 类中的方法 cn.wjybxx.btree.decorator.Repeat
- resetForRestart() - 类中的方法 cn.wjybxx.btree.Decorator
- resetForRestart() - 类中的方法 cn.wjybxx.btree.decorator.UntilCond
- resetForRestart() - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
- resetForRestart() - 类中的方法 cn.wjybxx.btree.fsm.StackStateMachineTask
- resetForRestart() - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- resetForRestart() - 类中的方法 cn.wjybxx.btree.Task
-
重置任务以便重新启动(清理运行产生的所有临时数据)
- resetForRestart() - 类中的方法 cn.wjybxx.btree.TaskEntry
- resetForRestart() - 类中的静态方法 cn.wjybxx.btree.TaskVisitors
- resetForRestart(StateMachineTask<T>) - 接口中的方法 cn.wjybxx.btree.fsm.StateMachineHandler
-
handler可能也有需要重置的数据。
- resetForRestart(StateMachineTask<T>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineHandlers.RedoHandler
- resetForRestart(Task<?>) - 类中的静态方法 cn.wjybxx.btree.Task
-
重置目标任务
- resetHelpers() - 类中的方法 cn.wjybxx.btree.branch.Parallel
- Running<T> - cn.wjybxx.btree.leaf中的类
- Running() - 类的构造器 cn.wjybxx.btree.leaf.Running
- RUNNING - 类中的静态变量 cn.wjybxx.btree.TaskStatus
-
执行中
- runningChild - 类中的变量 cn.wjybxx.btree.branch.SingleRunningChildBranch
-
运行中的子节点
- runningIndex - 类中的变量 cn.wjybxx.btree.branch.SingleRunningChildBranch
-
运行中的子节点索引 -- index信息总是准确的
S
- select(BranchTask<? extends T>) - 接口中的方法 cn.wjybxx.btree.branch.SwitchHandler
-
选择要执行的子节点
- Selector<T> - cn.wjybxx.btree.branch中的类
- Selector() - 类的构造器 cn.wjybxx.btree.branch.Selector
- Selector(Task<T>, Task<T>) - 类的构造器 cn.wjybxx.btree.branch.Selector
- Selector(List<Task<T>>) - 类的构造器 cn.wjybxx.btree.branch.Selector
- SelectorN<T> - cn.wjybxx.btree.branch中的类
-
多选Selector。
- SelectorN() - 类的构造器 cn.wjybxx.btree.branch.SelectorN
- SelectorN(Task<T>, Task<T>) - 类的构造器 cn.wjybxx.btree.branch.SelectorN
- SelectorN(List<Task<T>>) - 类的构造器 cn.wjybxx.btree.branch.SelectorN
- Sequence<T> - cn.wjybxx.btree.branch中的类
- Sequence() - 类的构造器 cn.wjybxx.btree.branch.Sequence
- Sequence(Task<T>, Task<T>) - 类的构造器 cn.wjybxx.btree.branch.Sequence
- Sequence(List<Task<T>>) - 类的构造器 cn.wjybxx.btree.branch.Sequence
- ServiceParallel<T> - cn.wjybxx.btree.branch中的类
-
服务并发节点 1.其中第一个任务为主要任务,其余任务为后台服务。
- ServiceParallel() - 类的构造器 cn.wjybxx.btree.branch.ServiceParallel
- ServiceParallel(List<Task<T>>) - 类的构造器 cn.wjybxx.btree.branch.ServiceParallel
- setActive(boolean) - 类中的方法 cn.wjybxx.btree.Task
-
修改节点的active状态 注意: 1.active为false表示可以不执行心跳逻辑
Task.execute()2.只有停止Execute而不影响逻辑的场景,才可能需要该特性。 - 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(T) - 类中的方法 cn.wjybxx.btree.Task
- setBlackboardPerChild(boolean) - 类中的方法 cn.wjybxx.btree.Task
-
是否每个child一个独立的黑板(常见于栈式黑板) 1.默认值由
Task.flags中的信息指定,默认false 2.该值是否生效取决于控制节点的实现,这里只是提供配置接口。 - setBranch1(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
- setBranch2(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
- setBranch3(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
- setBranch4(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
- setBranch5(Task<T>) - 类中的方法 cn.wjybxx.btree.branch.FixedSwitch
- setCancelled() - 类中的方法 cn.wjybxx.btree.Task
-
设置为取消
- setCancelToken(CancelToken) - 类中的方法 cn.wjybxx.btree.Task
- setCancelTokenPerChild(boolean) - 类中的方法 cn.wjybxx.btree.Task
-
是否每个child一个独立的取消令牌 1.默认值由
Task.flags中的信息指定,默认false 2.要覆盖默认值应当在Task.beforeEnter()方法中调用 3.该值是否生效取决于控制节点的实现,这里只是提供配置接口。 - setChild(int, Task<T>) - 类中的方法 cn.wjybxx.btree.Task
-
替换指定索引位置的child (该方法可避免Task的结构发生变化,也可以减少事件数)
- setChild(Task<T>) - 类中的方法 cn.wjybxx.btree.Decorator
- setChildCancelToken(Task<T>, CancelToken) - 类中的方法 cn.wjybxx.btree.Task
-
设置子节点的取消令牌
- setChildImpl(int, Task<T>) - 类中的方法 cn.wjybxx.btree.BranchTask
- setChildImpl(int, Task<T>) - 类中的方法 cn.wjybxx.btree.Decorator
- setChildImpl(int, Task<T>) - 类中的方法 cn.wjybxx.btree.LeafTask
- setChildImpl(int, Task<T>) - 类中的方法 cn.wjybxx.btree.Task
- setChildImpl(int, Task<T>) - 类中的方法 cn.wjybxx.btree.TaskEntry
- setChildren(List<Task<T>>) - 类中的方法 cn.wjybxx.btree.BranchTask
- setCompleted(int, boolean) - 类中的方法 cn.wjybxx.btree.Task
-
设置为完成 -- 通常用于通过子节点的结果设置自己
- setCond(Task<T>) - 类中的方法 cn.wjybxx.btree.decorator.UntilCond
- setControl(Task<T>) - 类中的方法 cn.wjybxx.btree.Task
-
设置任务的控制节点
- setControlData(Object) - 类中的方法 cn.wjybxx.btree.Task
- setCountMode(int) - 类中的方法 cn.wjybxx.btree.decorator.Repeat
- setDelayArg(int) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
- setDelayMode(byte) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
- setEnterFrame(int) - 类中的方法 cn.wjybxx.btree.Task
-
慎重调用
- setEntity(Object) - 类中的方法 cn.wjybxx.btree.TaskEntry
- setExitFrame(int) - 类中的方法 cn.wjybxx.btree.Task
-
慎重调用
- setFailed(int) - 类中的方法 cn.wjybxx.btree.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<T>) - 类中的方法 cn.wjybxx.btree.Task
- setGuardFailed(Task<T>, boolean) - 类中的方法 cn.wjybxx.btree.Task
-
设置为前置条件测试失败 1.该方法仅适用于control测试child的guard失败,令child在未运行的情况下直接失败的情况。
- setHandler(SwitchHandler<? super T>) - 类中的方法 cn.wjybxx.btree.branch.Switch
- setHandler(StateMachineHandler<T>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- setHandler(TaskEntryHandler<T>) - 类中的方法 cn.wjybxx.btree.TaskEntry
- setInitState(Task<T>) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- setInitStateProps(Object) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- setInvertedGuard(boolean) - 类中的方法 cn.wjybxx.btree.Task
-
当task作为guard节点时,是否取反(减少栈深度) -- 避免套用
Inverter节点 1.默认值由Task.flags中的信息指定,默认不禁用(即默认延迟通知) 2.要覆盖默认值应当在Task.beforeEnter()方法中调用 - setMachineName(String) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
- setManualCheckCancel(boolean) - 类中的方法 cn.wjybxx.btree.Task
-
告知模板方法是否手动检测取消 1.默认值由
Task.flags中的信息指定,默认不禁用 2.是否检测取消信号是一个动态的属性,可随时更改 -- 因此不要轻易缓存。 - setMaxLoop(int) - 类中的方法 cn.wjybxx.btree.decorator.LoopDecorator
- setName(String) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
- setName(String) - 类中的方法 cn.wjybxx.btree.TaskEntry
- setNextState(Task<T>) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
- setNextStateGuid(String) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
- setP(float) - 类中的方法 cn.wjybxx.btree.leaf.SimpleRandom
- setPolicy(JoinPolicy<T>) - 类中的方法 cn.wjybxx.btree.branch.Join
- setPrevStatus(int) - 类中的方法 cn.wjybxx.btree.Task
- setRedoQueueCapacity(int) - 类中的方法 cn.wjybxx.btree.fsm.StackStateMachineTask
-
设置redo队列大小
- 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<T>) - 类中的方法 cn.wjybxx.btree.TaskEntry
- setSharedProps(Object) - 类中的方法 cn.wjybxx.btree.Task
- setSlowStart(boolean) - 类中的方法 cn.wjybxx.btree.Task
-
告知模板方法否将
Task.enter(int)和Task.execute()方法分开执行。 - setStateProps(Object) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateTask
- setSubtreeName(String) - 类中的方法 cn.wjybxx.btree.decorator.SubtreeRef
- setSuccess() - 类中的方法 cn.wjybxx.btree.Task
-
设置为运行成功
- setTreeLoader(TreeLoader) - 类中的方法 cn.wjybxx.btree.TaskEntry
- setType(byte) - 类中的方法 cn.wjybxx.btree.TaskEntry
- setUndoQueueCapacity(int) - 类中的方法 cn.wjybxx.btree.fsm.StackStateMachineTask
-
设置undo队列大小
- sharedProps - 类中的变量 cn.wjybxx.btree.Task
-
共享属性(配置上下文) 1.用于解决【数据和行为分离】架构下的配置需求,主要解决策划的配置问题,减少维护工作量。
- shuffleChild() - 类中的方法 cn.wjybxx.btree.BranchTask
-
用于避免测试的子节点过于规律
- SimpleParallel<T> - cn.wjybxx.btree.branch中的类
-
简单并发节点。
- SimpleParallel() - 类的构造器 cn.wjybxx.btree.branch.SimpleParallel
- SimpleParallel(List<Task<T>>) - 类的构造器 cn.wjybxx.btree.branch.SimpleParallel
- SimpleRandom<T> - cn.wjybxx.btree.leaf中的类
-
简单随机任务 在正式的项目中,Random应当从实体上获取。
- SimpleRandom() - 类的构造器 cn.wjybxx.btree.leaf.SimpleRandom
- SimpleRandom(float) - 类的构造器 cn.wjybxx.btree.leaf.SimpleRandom
- SingleRunningChildBranch<T> - cn.wjybxx.btree.branch中的类
-
非并行分支节点抽象(最多只有一个运行中的子节点)
- SingleRunningChildBranch() - 类的构造器 cn.wjybxx.btree.branch.SingleRunningChildBranch
- SingleRunningChildBranch(Task<T>, Task<T>) - 类的构造器 cn.wjybxx.btree.branch.SingleRunningChildBranch
- SingleRunningChildBranch(List<Task<T>>) - 类的构造器 cn.wjybxx.btree.branch.SingleRunningChildBranch
- StackStateMachineTask<T> - cn.wjybxx.btree.fsm中的类
-
栈式状态机,在普通状态机的基础上支持了redo和undo
- StackStateMachineTask() - 类的构造器 cn.wjybxx.btree.fsm.StackStateMachineTask
- StateMachineHandler<T> - cn.wjybxx.btree.fsm中的接口
-
状态机策略
- StateMachineHandlers - cn.wjybxx.btree.fsm中的类
- StateMachineHandlers() - 类的构造器 cn.wjybxx.btree.fsm.StateMachineHandlers
- StateMachineHandlers.RedoHandler<T> - cn.wjybxx.btree.fsm中的类
- StateMachineTask<T> - cn.wjybxx.btree.fsm中的类
-
状态机节点 ps:以我的经验来看,状态机是最重要的节点,
Join则是仅次于状态机的节点 -- 不能以使用数量而定。 - StateMachineTask() - 类的构造器 cn.wjybxx.btree.fsm.StateMachineTask
- stop() - 类中的方法 cn.wjybxx.btree.Task
-
强制停止任务 1.只应该由Control调用,因此不会通知Control 2.未完成的任务默认会进入Cancelled状态 3.不命名为cancel,否则容易误用;我们设计的cancel是协作式的,可通过
Task.cancelToken发出请求请求。 - stop(Task<?>) - 类中的静态方法 cn.wjybxx.btree.Task
-
停止目标任务
- stopInline() - 类中的方法 cn.wjybxx.btree.TaskInlineHelper
-
取消内联
- stopRunningChildren() - 类中的方法 cn.wjybxx.btree.branch.SingleRunningChildBranch
- stopRunningChildren() - 类中的方法 cn.wjybxx.btree.Decorator
- stopRunningChildren() - 类中的方法 cn.wjybxx.btree.Task
-
停止所有运行中的子节点 1.该方法在自身的exit之前调用 2.如果有特殊的子节点(钩子任务),也需要在这里停止 3.该方法不采用visitor实现,是因为停止任务可能有特殊的时序。
- SubtreeRef<T> - cn.wjybxx.btree.decorator中的类
-
子树引用
- SubtreeRef() - 类的构造器 cn.wjybxx.btree.decorator.SubtreeRef
- SubtreeRef(String) - 类的构造器 cn.wjybxx.btree.decorator.SubtreeRef
- succeededCount - 类中的变量 cn.wjybxx.btree.branch.Join
-
成功完成的子节点
- Success<T> - cn.wjybxx.btree.leaf中的类
- Success() - 类的构造器 cn.wjybxx.btree.leaf.Success
- SUCCESS - 类中的静态变量 cn.wjybxx.btree.TaskStatus
-
执行成功 -- 最小的完成状态
- Switch<T> - cn.wjybxx.btree.branch中的类
-
Switch-选择一个分支运行,直到其结束
- Switch() - 类的构造器 cn.wjybxx.btree.branch.Switch
- SwitchHandler<T> - cn.wjybxx.btree.branch中的接口
T
- Task<T> - cn.wjybxx.btree中的类
-
取消
- Task() - 类的构造器 cn.wjybxx.btree.Task
- TaskEntry<T> - cn.wjybxx.btree中的类
-
任务入口(可联想程序的Main)
- TaskEntry() - 类的构造器 cn.wjybxx.btree.TaskEntry
- TaskEntry(String, Task<T>, T, Object, TreeLoader) - 类的构造器 cn.wjybxx.btree.TaskEntry
- TaskEntryHandler<T> - cn.wjybxx.btree中的接口
-
用于处理Entry的完成事件
- TaskInlinable - cn.wjybxx.btree中的批注接口
-
该注解用于表示一个task是可以被内联的, 1.适用于
SingleRunningChildBranch和Decorator2.该注解不继承,必须在类上显式定义才可以生效。 - TaskInlineHelper<T> - cn.wjybxx.btree中的类
- TaskInlineHelper() - 类的构造器 cn.wjybxx.btree.TaskInlineHelper
- TaskStatus - cn.wjybxx.btree中的类
-
行为树的Task的状态 1.
- TaskStatus() - 类的构造器 cn.wjybxx.btree.TaskStatus
- TaskVisitor<T> - cn.wjybxx.btree中的接口
-
Task访问器,用于访问Task的内部结构。
- TaskVisitors - cn.wjybxx.btree中的类
-
常用的访问者
- TaskVisitors() - 类的构造器 cn.wjybxx.btree.TaskVisitors
- template_checkGuard(Task<T>) - 类中的方法 cn.wjybxx.btree.Task
-
检查前置条件 1.如果未显式设置guard的上下文,会默认捕获当前Task的上下文 2.guard的上下文在运行结束后会被清理 3.guard只应该依赖共享上下文(黑板和props),不应当对父节点做任何的假设。
- template_execute(boolean) - 类中的方法 cn.wjybxx.btree.Task
-
execute模板方法 (通过参数的方式,有助于我们统一代码,也简化子类实现;同时避免遗漏)
- template_runInlinedChild(Task<T>, TaskInlineHelper<T>, Task<T>) - 类中的方法 cn.wjybxx.btree.Task
-
执行被内联的子任务
- template_startChild(Task<T>, boolean) - 类中的方法 cn.wjybxx.btree.Task
-
启动子节点
- template_startHook(Task<T>, boolean) - 类中的方法 cn.wjybxx.btree.Task
-
启动钩子节点 1.钩子任务不会触发
Task.onChildRunning(Task)和Task.onChildCompleted(Task)2.前置条件其实是特殊的钩子任务 3.条件分支不应该有钩子任务 - tempNextState - 类中的变量 cn.wjybxx.btree.fsm.StateMachineTask
-
待切换的状态,主要用于支持当前状态退出后再切换 -- 即支持当前状态设置结果
- test() - 类中的方法 cn.wjybxx.btree.leaf.ConditionTask
-
检查条件 -- 同步返回
- test() - 类中的方法 cn.wjybxx.btree.TaskEntry
-
如果行为树代表的是一个条件树,则可以调用该方法;失败的情况下可以通过Status获取错误码
- TIMEOUT - 类中的静态变量 cn.wjybxx.btree.TaskStatus
-
执行超时
- toFailure(int) - 类中的静态方法 cn.wjybxx.btree.TaskStatus
-
如果给定状态是失败码,则返回参数,否则返回默认失败码
- treeLoader - 类中的变量 cn.wjybxx.btree.TaskEntry
-
行为树加载器 -- 用于加载Task或配置
- 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
-
尝试加载行为树的根节点
U
- UNDO - 类中的静态变量 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.StackStateMachineTask
-
撤销到前一个状态
- undoChangeState(ChangeStateArgs) - 类中的方法 cn.wjybxx.btree.fsm.StateMachineTask
-
撤销到前一个状态
- undoHandler() - 类中的静态方法 cn.wjybxx.btree.fsm.StateMachineHandlers
- unsetChildCancelToken(Task<T>) - 类中的方法 cn.wjybxx.btree.Task
-
删除子节点的取消令牌
- unsetControl() - 类中的方法 cn.wjybxx.btree.Task
-
删除任务的控制节点(用于清理) 该方法在任务结束时并不会自动调用,因为Task上的数据可能是有用的,不能立即删除,只有用户知道是否可以清理。
- UntilCond<T> - cn.wjybxx.btree.decorator中的类
-
循环子节点直到给定的条件达成
- UntilCond() - 类的构造器 cn.wjybxx.btree.decorator.UntilCond
- UntilFail<T> - cn.wjybxx.btree.decorator中的类
-
重复运行子节点,直到该任务失败
- UntilFail() - 类的构造器 cn.wjybxx.btree.decorator.UntilFail
- UntilFail(Task<T>) - 类的构造器 cn.wjybxx.btree.decorator.UntilFail
- UntilSuccess<T> - cn.wjybxx.btree.decorator中的类
-
重复运行子节点,直到该任务成功
- UntilSuccess() - 类的构造器 cn.wjybxx.btree.decorator.UntilSuccess
- UntilSuccess(Task<T>) - 类的构造器 cn.wjybxx.btree.decorator.UntilSuccess
- update(int) - 类中的方法 cn.wjybxx.btree.TaskEntry
-
普通update。
- updateInlined(int) - 类中的方法 cn.wjybxx.btree.TaskEntry
-
以内联的方式update。
- userData - 类中的变量 cn.wjybxx.btree.branch.ParallelChildHelper
-
用户自定义数据
V
- visitChild(Task<? extends T>, int, Object) - 接口中的方法 cn.wjybxx.btree.TaskVisitor
-
访问普通子节点
- visitChildren(TaskVisitor<? super T>, Object) - 类中的方法 cn.wjybxx.btree.BranchTask
- visitChildren(TaskVisitor<? super T>, Object) - 类中的方法 cn.wjybxx.btree.Decorator
- visitChildren(TaskVisitor<? super T>, Object) - 类中的方法 cn.wjybxx.btree.LeafTask
- visitChildren(TaskVisitor<? super T>, Object) - 类中的方法 cn.wjybxx.btree.Task
-
访问所有的子节点(含hook节点)
- visitChildren(TaskVisitor<? super T>, Object) - 类中的方法 cn.wjybxx.btree.TaskEntry
- visitHook(Task<? extends T>, Object) - 接口中的方法 cn.wjybxx.btree.TaskVisitor
-
访问钩子节点(无法通过GetChild拿到的子节点,也不在ChildCount计数中) 理论上钩子还可能是List或Map,但我们这个访问者只是为了做一些简单的遍历工作,并不需要如此精细的信息, 因此方法参数可以未声明index/key等信息,以避免额外的开销和复杂度。
W
- WaitFrame<T> - cn.wjybxx.btree.leaf中的类
-
等待N帧
- WaitFrame() - 类的构造器 cn.wjybxx.btree.leaf.WaitFrame
- WaitFrame(int) - 类的构造器 cn.wjybxx.btree.leaf.WaitFrame
- with(byte) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
- with(byte, int) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
- with(byte, int, Object) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
- withExtraInfo(Object) - 类中的方法 cn.wjybxx.btree.fsm.ChangeStateArgs
- wjybxx.btree.core - 模块 wjybxx.btree.core
内
- 内联条件 - 批注接口 cn.wjybxx.btree.TaskInlinable中的搜索标记
- 节
取
- 取消 - 类 cn.wjybxx.btree.Task中的搜索标记
- 节
开
- 开销问题 - 类 cn.wjybxx.btree.leaf.ConditionTask中的搜索标记
- 节
心
- 心跳+事件驱动 - 类 cn.wjybxx.btree.Task中的搜索标记
- 节
常量字段值|所有程序包|所有类和接口