Node脚本
可以存在于 NodeCanvas Graph 中的所有节点的基类
重要属性以及方法
Status枚举
Status Execute()
Status OnExecute()
子类覆写这个方法,定义节点功能(Action节点的功能实现)。用于启动 Graph 的 Agent 和 Blackboard 被传播
Graph脚本
这是 NodeCanvas 和图形的基类和主类。所有的图形系统都是从这个派生的
重要属性以及方法
UpdateMode枚举
Graph的更新模式(参见“StartGraph”),Behavior Tree Owner 面板的UpdateMode
void UpdateGraph()
更新图表。通常,这由 MonoManager 更新,因为在 StartGraph(在Graph脚本下) 时,此方法已注册以由 GraphOwner 更新。
startGraph 时 将UpdateGraph发送给MonoManager 管理
graphSource属性
计时数据
GraphSource脚本
实际的图形数据,Unity/Json 混合序列化,这里实例化一个用于存数据
connections属性
ActionNode脚本
ActionNode.cs调用的OnExecute其实是ActionTask的Execute
这里的_action的值其实是赋值的ActionList,相当于父类装子类,所以Action节点能增加多个task组件
ConditionTask 和 ActionTask都继承Task
用于添加任务,任务能累加(因为他俩有List子类,如ActionList)
ActionList脚本
ActionsExecutionMode枚举
将task组件的执行顺序进行操作,并行或者顺序执行。这里可以做文章,以后对Action节点进行修改,添加一个
ConditionTask在Actiontask里头,避免 Squence + Condition + Action的组合。
任务组件
任务组件编写
ActionTask:Action节点的核心,如果需要一个自定义task组件,需要继承ActionTask
有些组件的waitAction 其实就是锁死EndAction();
装饰节点用法
Invert 装饰节点 返回Success的Action变为
动态添加Task
先靠Tag找到当前Action或者其他节点,然后自己加task