SuperAPI AI 工具集

dialogue-manager

通用与其它

查看项目

更新于 10-16 06:19

技能介绍

用途:Dialogue Manager 是 Godot 4 的对话插件(v3.10.4,MIT,GDScript 编写并提供官方 C# 支持),适合让编剧以可读的 .dialogue 脚本文本编写分支对话,而非在 Inspector 中编辑 Resource。它只负责对话层,不是完整的点击式冒险/任务框架,房间、背包、角色等仍由其他框架管理。

主要能力:.dialogue 文件支持标题与跳转(~ name、=> name、=> END、=> END!、=>< name)、缩进嵌套的响应选项(- )、条件(if/elif/else、match/while、行内 [if ...])、状态变更(set 赋值、do 调用方法或发信号)、随机行(% 或 %N 权重)、变量插值 {{...}}、标签 [#happy, #mood=calm]、BBCode 及 [wait=N]、[speed=N]、[next=auto] 等扩展。内置翻译流程:文本默认经 tr(),translation_source 可选 None/CSV/PO/Guess,支持 [ID:KEY] 静态翻译键与 CSV/PO 导入导出。

使用方式:通过 AssetLib 安装或复制 addons/dialogue_manager/,在项目设置→插件中启用,会自动注册 DialogueManager 自动加载。运行时用 DialogueManager.show_dialogue_balloon(resource, "start") 打开气泡,或用 await DialogueManager.get_next_dialogue_line(resource, title) 手动遍历;对话结束返回 null(GDScript 用 if not line,C# 用 line != null,不要与 {} 比较)。C# 使用 using DialogueManagerRuntime; 与 PascalCase 成员。

限制:get_next_dialogue_line 的 mutation_behaviour 枚举位于 DMConstants,默认 Wait,示例气泡仅支持 Wait。C# 事件为惰性桥接,需至少访问一次 DialogueManager.Instance 才会触发;内置响应菜单只暴露 Godot 信号,需用 Connect + Callable 连接。extra_game_states 必须传实例而非类。翻译仅生成键与 CSV/PO,切换语言需自行处理。其余细节资料未提供。