索引
常量字段值|所有程序包|所有类和接口
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中的搜索标记
- 节
常量字段值|所有程序包|所有类和接口