Luban是目前比较火的导表工具,功能强大、易用、易拓展。笔者近期在自学使用Luban,用于Unity游戏项目。学习期间发现它的入门文档虽然详尽,但仍有不足和歧义,对于我这种不常开荒的菜鸟来说学起来还是有些小磕绊的。所以我结合官方文档整理了这篇学习笔记,希望能提供一点帮助,建议结合官方文档和示例项目阅读。欢迎交流批评指正。
一、下载Luban及配置环境
1.安装dotnet sdk 7.0或更高版本sdk。(其实就是.Net 7.0,换个马甲差点没认出来…)
2.下载示例项目。
3.下载Luban工具。
以上步骤参照文档即可,无需赘述。其中3.要求确保最终Luban程序在指定位置,实际上这是示例配置文件的路径,只要在批处理文件和相关配置文件中正确设置相关路径,放在哪里都可以。
之后的步骤会用到此处解压出的Luban.dll。
二、准备配置工程
官方文档中建议直接复制MiniTemplate,但是入门阶段这样容易搞不清各文件的功能,也容易和官方范例中的类似文件混淆。所以这里我不整个复制,而是参照文档根据自己的需求去一个个复制需要的文件,或者自己创建。
MiniTemplate中包含三个文件夹,搞清楚用途后,都是可以改名改路径的,只要在相关配置文件和批处理文件中正确设置路径即可。
三个文件夹功能如下:
Datas文件夹 包含具体业务配置文件和__beans__.xlsx、enums.xlsx、tables.xlsx
其中__beans__定义了bean数据格式,__enums__定义了枚举数据格式,__tables__定义了其他表格应以何种方式导入,我理解为“配置表的配置表”。
这三个配置文件可以和具体业务配置文件放在不同的文件夹,只要相关批处理文件和配置文件设置正确即可。后面的luban.conf配置文件中的schemaFiles会包含此三项的路径。
Defines文件夹中包含vector的配置,还有其他什么配置需要放在这里需要深入研究。
output文件夹中包含的是导表出的数据,比如json文件。
gen.bat是执行导表的批处理文件。
luban.conf包含各项配置文件的配置文件的路径等。
三、创建Reward表(创建测试用表格)
这里我创建的是比Reward更简单但也很常用的Language表。
表格格式参照官方文档即可。需要注意的是如上图4、5行所示,如果某行的第A列是“##”,那么这行会被视为注释。只有第4行的注释会作为之后生成出的代码的注释。第5行不会体现在生成出的文件中。同时,这种整行的注释要从第B列开始写,保证第A列只有“##”,否则生成时会视为表头格式异常有警告提示。
表格创建好后需要在之前提到的__tables__.xlsx添加表声明。需要注意的是“全名”和“记录类名”不能相同。(我知道这是一句废话,但我一开始图省事真的犯了这个错误…)
五、项目准备
参照官方文档即可
六、准备生成脚本
此处建议不使用已有的gen.bat文件,最好根据自己设置项目文件夹路径的习惯自己写一个。官方文档没提到的参数–conf为前面提到过的luban.conf文件的路径。inputDataDir是配置文件(xlsx文件)所在的文件夹路径。-t的参数含义在luban.conf文件中可以修改,但通常没必要动。应该还有些高级参数暂时用不到。
luban.conf文件默认和MiniTemplate的gen.bat在同一路径下,可以复制出来进行修改。我首次测试时因为没有用到枚举和bean,就把文件中的__beans__.xlsx、enums.xlsx这两项删除了。
七、加载配置和使用配置
此处相比于官方文档,我认为更好的方式是直接去对应的示例工程中Copy代码。比如我是要用于Unity项目,对应的示例工程是\Projects\Csharp_Unity_json这个文件夹下的工程,就直接去复制这里的加载配置的代码就可以了。
总结
以上就是我近期学习使用Luban的笔记,之后在实际使用过程中如有新的心得会在此更新补充。欢迎讨论指正。