📄️ 与classic版本差异
当前版本相比于classic版本极大简化了代码实现,更方便定制。虽然代码调整极大,但使用差别不大。
📄️ 设计哲学
在大多数人的印象中,配置工具的实现应该是非常简单的。事实上,你确实可以用几百行代码就实现一个简单的配置工具,但它仅仅是能用,远远不足以满足实际游戏项目中配置工作流的各种要求。
📄️ 特性
Luban内置了丰富的特性。
📄️ luban.conf
定义了luban所需要的全局配置。
📄️ schema 逻辑结构
在设计哲学文档已经介绍了,Luban的核心为完备的类型系统,而DPP管线则是强大的扩展能力的基础。
📄️ 配置定义
Luban有一套独立于具体实现的Schema逻辑结构实现。对怎么定义配置没有要求,只要最终的定义能被
📄️ 自动导入table
每新增一个表都在tables.xlsx中添加一项,这个工作令人烦琐。大多数情况下,每个excel对应一个表,让工具自动添加表定义是可能的。
📄️ 命令行工具
跨平台
📄️ 层级参数机制
Luban的大多数内置模板都使用了层级参数(Cascading Option)机制,即逐级缩减模块名,直到查找到选项为止。
📄️ 类型系统
Luban有完备的类型系统,尤其是bean支持类型继承和多态,使得Luban可以轻松表达任意复杂的数据结构。
📄️ 类型映射
有时候你希望生成的代码中能直接使用现成的结构类型,而不是使用生成的类型代码。例如vector3是非常常见的类型,你在配置中定义了vector3后,可能希望生成的C#代码中涉及到
📄️ excel格式(初级)
基础规则
📄️ excel格式(高级)
示例中用到的结构
📄️ 非excel数据格式
大多数数据格式填法符合直觉,而且数据定义是完全一样的。
📄️ 代码与数据生成
支持主流游戏引擎及平台
📄️ 代码风格
Luban默认为某个语言生成符合该语言推荐风格的代码,但有时候开发者想控制生成的代码风格,Luban
📄️ 加载配置
安装Luban.Runtime
📄️ 数据校验器
Luban.DataValidtor.Builtin模块中实现多种常见的数据校验器。
📄️ 自定义模板
luban使用scriban 模板引擎来生成代码,也使用这个模板来生成自定义的文本型数据文件。
📄️ 数据tag
luban支持记录级别的tag标记,每个数据可以有0到多个tag。 tag可用标识记录为注释,或者过滤导出,或者指示检验器不检查此记录。
📄️ 字段变体(Variants)
有时候同一个字段可能有多个配置。一个非常常见的场景是制作本地化数据时,不同地区的某个初始道具有不同的值。
📄️ 本地化
支持多种本地化机制,它们可以同时使用。
📄️ 最佳实践
命名约定
📄️ 扩展Luban实现
在权衡灵活性和简便性后,luban没有使用插件机制,而是在源码工程中新增一些扩展项目来实现扩展。