#yaml #dialog #structure #game #serialization #file-format

yml_dialog

使用YML(文件)格式实现Rust对话的非常轻量级的基本结构

1个不稳定版本

0.2.3 2023年8月18日

#1164 in 游戏开发

MIT/Apache

43KB
145

基于YML的对话结构

v0.2.2 MIT/Apache 2.0

示例

complete_example

如果您想在家中编译代码,请在此处下载资源:下载资源:disroot的云,克隆仓库,在仓库根目录中提取资源,然后运行 cargo run --example complete_example

路线图

  • 完整的API,用于将对话系统实现到(bevy游戏或任何)应用程序中
    • 用法
    • 排除Bevy依赖项
    • 遵循Rust API指南的所有准则
      • 文档
        • 示例使用?,而不是try!,也不是unwrap(《C-QUESTION-MARK》)
        • 包级别的文档详尽,包括示例(《C-CRATE-DOC》)
        • 创建一个示例
      • 互操作性
        • 类型积极实现常见特质
        • ...
      • 未来兼容性(包可以自由改进,而不会破坏用户的代码)
        • 密封特质防止下游实现(《C-SEALED》)
        • 结构体有私有字段(《C-STRUCT-PRIVATE》)
        • Newtype封装实现细节(《C-NEWTYPE-HIDE》)
        • 数据结构不重复派生特质界限(《C-STRUCT-BOUNDS》)

贡献

发布格式基于 Keep a Changelog,本项目遵循 语义化版本控制

本项目还遵循 成功的 Git 分支模型

我们必须尊重所有 Rust API 规范。对于 lore,遵循所有 Bevy 插件指南

在提交前运行 cargo clippycargo doc

许可证

本项目是免费、开源和许可的!

此存储库中的所有代码都采用以下两种许可证之一进行双许可:

了解更多包含两者的良好理由 在这里

灵感

我开始将其编码为树状结构对话,但基于图的对话更适合。也许在这次迁移之后,这个 crate 就不再需要了,只会做开发日志。(并解放这个名称 :)

命名

根据这个 讨论,这不是一个简单的问题。

  • yml-dialog
  • dialog-structure
  • md-to-dialog-tree
  • fto-dialog
  • bevy_dialog
  • bevy_dialog_system
  • bevy_fto_dialog / bevy_fob_dialog

依赖

~0.4–1MB
~22K SLoC