通用节点编辑器05-任务系统实例
Task 节点图示例
Task 示例展示了一个完整的业务接入流程:编辑任务节点、导出 Runtime 图、显示任务面板,并根据完成或失败结果继续执行后续节点。
编辑器部分
Task 图包含:
TaskGraphAsset:Task 图资产。TaskGraphController:指定 Runtime 导出目录Assets/Resources/TaskGraphs。TaskGraphWindow:注册Tools/Node Graph/Task/Create Task Graph创建入口。TaskNode:定义In、complete和failed端口。TaskNodeView:编辑TaskNodeData的任务名称和描述。
任务节点的出口含义:
| 端口 key | 含义 |
|---|---|
complete |
任务完成后的下一节点 |
failed |
任务失败后的下一节点 |
运行时入口
TaskGraphExampleRunner 只负责:
- 创建
TaskPanel。 - 从 Resources 加载 Task 图。
- 将
TaskPanel注入每一个TaskRuntimeNode。 - 调用
GraphRunner.Start()启动图。
1 | graphRunner = GraphRuntimeManager.Instance |
TaskRuntimeNode 驱动业务
TaskRuntimeNode.OnEnter() 负责设置面板回调并刷新任务信息:
1 | panel.SetCallbacks(this); |
TaskPanel 的完成和失败按钮通过 ITaskPanelCallbacks 回调到当前 RuntimeNode:
1 | TaskPanel Button |
这保证 UI 只负责展示和触发事件,节点本身决定业务流转。
TaskPanel View
TaskPanel 位于 Examples/Task/View,负责:
- 查找任务名称和描述文本。
- 控制完成、失败按钮显示。
- 绑定按钮事件。
- 显示和隐藏面板。
它不直接操作 GraphRunner,也不决定跳转出口。

完整使用流程
- 在菜单中创建 Task Graph。
- 添加 Task 节点并配置名称、描述和连线。
- 保存图资产。
- 点击
Export .bytes,生成 Resources 下的运行时图数据。 - 场景中挂载
TaskGraphExampleRunner和 TaskPanel Prefab。 - 配置
resourcesPath,例如TaskGraphs/NewGraph0。 - 进入 Play Mode,TaskPanel 会在 TaskRuntimeNode 进入时显示。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 穿越时空的思念!
