SuperAPI AI 工具集

dialogue-system

数据与分析

查看项目

更新于 10-16 06:19

技能介绍

用途:在 Godot 4.3+ 项目中实现分支对话,涵盖对话数据结构、条件判断与 UI 呈现,示例同时给出 GDScript 与 C#,不使用已废弃 API。

主要能力:数据层用 DialogueLine(Resource)保存 speaker、text、choices、next_line_id、condition;DialogueData 以字典按字符串 ID 存放所有行并指定 start_line_id。控制层 DialogueManager 作为 Autoload 单例,提供 start_dialogue、advance、choose,并发出 dialogue_started、line_displayed、choice_presented、dialogue_ended 信号。分支与条件:choices 为字典数组,每项含 text、next_line_id 与可选 condition,条件通过 Expression 类求值,可传入 GameState 等上下文对象。UI 层用 CanvasLayer 搭配 RichTextLabel(支持 BBCode)、说话人 Label 与选项按钮 VBoxContainer,打字机效果由 Tween 驱动 visible_characters 实现。文本支持 {player_name} 占位符插值,也可从 JSON 加载对话以便策划编辑,或接入 Dialogic 插件。

使用方式:将 DialogueLine、DialogueData 设为 Resource 并在 Inspector 中配置;把 DialogueManager 注册为 Autoload;UI 订阅管理器信号;按资料中的实现清单检查空值断言、选项待定时禁止 advance、选项按钮先 queue_free 再新建、条件只引用稳定的 Autoload 方法名等。

适用场景:RPG、冒险游戏等需要分支对话与条件触发的项目。

限制:资料未提供具体安装命令、收费与价格信息;完整管理器、条件求值器、UI 接线与 JSON 加载代码位于 references 目录下的文档中,正文未展开。