所有类和接口

说明
行为节点抽象 (并非所有行为节点都需要继承该类)
主动选择节点 每次运行时都会重新测试节点的运行条件,选择一个新的可运行节点。
每一帧都检查子节点的前置条件,如果前置条件失败,则取消child执行并返回失败
在子节点完成之后固定返回失败
在子节点完成之后仍返回运行。
在子节点完成之后固定返回成功
分支任务(可能有多个子节点)
取消令牌。
状态切换参数 建议用户通过原型对象的ChangeStateArgs.withExtraInfo(Object)等方法创建
 
条件节点 (并非所有条件节点都需要继承该类)
可返回详细错误码的条件节点
装饰任务(最多只有一个子节点)
 
展开的switch 在编辑器中,children根据坐标排序,容易变动;这里将其展开为字段,从而方便配置。
迭代所有的子节点最后返回成功
反转装饰器,它用于反转子节点的执行结果。
Join 1.在得出结果之前不会重复执行已完成的任务。
默认的AnyOf,不特殊处理取消 相当于并发编程中的anyOf
Main策略,当第一个任务完成时就完成。
Join的完成策略 1.不要在Policy上缓存Join的child。
Sequence 相当于并发编程中的WhenAll/AllOf
等待所有任务完成后返回成功 相当于并发编程中的WaitAll
叶子任务(不能有子节点)
循环节点抽象 如果LoopDecorator.execute()方法是有循环体的,那么一定要注意: 只有循环的尾部运行child才是安全的,如果在运行child后还读写其它数据,可能导致bug(小心递归)。
只执行一次。
并行节点基类 定义该类主要说明一些注意事项,包括: 1.在处理子节点完成事件的时候,避免运行execute方法,否则可能导致其它task单帧内运行多次。
重复N次
 
 
多选Selector。
 
服务并发节点 其中第一个任务为主要任务,其余任务为后台服务。
简单并发节点。
简单随机任务 在正式的项目中,Random应当从实体上获取。
非并行分支节点抽象 如果SingleRunningChildBranch.execute()方法是有循环体的,那么一定要注意: 只有循环的尾部运行child才是安全的,如果在运行child后还读写其它数据,可能导致bug(小心递归)。
 
 
状态机节点 1.redo和undo是很有用的特性,因此我们在顶层给予支持,但默认的队列不会保存状态。
行为树的Task的状态 1.
子树引用
 
 
取消
任务入口(可联想程序的Main)
用于处理Entry的完成事件
行为树加载器 1.虽命名为TreeLoader,但可加载任意导出对象,只因该Loader最初是为行为树设计的。
 
 
循环子节点直到给定的条件达成
重复运行子节点,直到该任务失败 (超类做了死循环避免)
 
等待N帧