【Unity】Luban学习笔记

个人向笔记。

1 前言

自己学习Luban时的一些笔记,方便以后复习。

2 Unity Luban使用流程

  1. 按照规则,创建并填写配置表。涉及类型定义(excel、xml),数据填写(excel)。
  2. 借助Luban相关工具,结合excel表,生成数据文件、代码文件。
  3. Unity中安装Luban Package。
  4. 将生成的数据文件、代码文件拷贝到Unity项目当中。
  5. 借助Package和生成代码,从数据文件中读取数据反序列化为类对象。
  6. 访问类对象,获取数据。

3 如何填表

参考官方文档。

4 如何根据excel表进行文件生成操作

先从官网下载案例项目luban_examples-main,以此文件夹为根目录来讲解。

使用时,大致可以把Luban分为三部分:

  1. 数据配置。
  2. Luban工具(更具体点:Luban.dll)
  3. 批处理生成相关文件(gen.bat)

解释:

  1. 数据配置,指根目录下的DataTables文件,里面包含了一些配置表与配置文件。
    1. Datas文件夹存储excel表。xxx.xlsx为默认的配置定义表(要被索引到.conf文件,具体见.conf内部),有三种,在__beans__.xlsx中我们可以定义自定义类型,在__enums__.xlsx中我们可以定义枚举类型,在__tables__.xlsx中我们需要给我们创建的配置表去定义一些参数配置。另外,我们自己的表则直接在此文件夹内创建即可(可以在在文件夹内创建,在配置参数时,建议子文件夹作为表的命名空间)。
    2. Defines文件夹内存储.xml文件。而.xml则也是提供各种类型定义的文件,与excel的配置定义类似。
    3. luban.conf文件。配置文件,内部提供了一些相关配置,在索引上索引了Datas文件夹目录、各__xxx__.xlsx配置定义表。同时,此文件还需要被批处理生成文件(gen.bat)所能索引到。
    4. check.bat、check.sh文件。数据校验,应该吧...
  2. Luban工具,指根目录下的Tools文件夹。里面有很多内容,Luban文件夹是官方提供的编译好的Luban本体。其中Tools\Luban\Luban.dll是我们需要与gen.bat索引关联的。
  3. 批处理操作(gen.bat、gen.sh,在MiniTemplate、Projects等文件夹中)。双击执行一系列命令行进行生成操作。需要提前在gen.bat中配置好Datas和Luban.dll的相关索引路径才能正常执行。输出路径也是配置在gen.bat中。还有很多相关命令可以添加,可参考官方文档。

配置完所有,双击gen.bat即可根据excel表生成相关文件。具体为两种文件:数据文件(如json或bytes文件等格式)、代码文件。

5 安装Luban Package

参考官方文档。

6 代码读取表中内容并访问

参考官方文档。文档说得很清晰。

7 其他

7.1 命名空间问题

给表格和类型规划分命名空间时,没有必要把table与此表格使用到的bean类型的放到同一命名空间下,可以分开放,生成功的代码会自动加上各自的命名空间来调用。所以,选择适合自己的划分即可。

7.2 名称问题

非自动导入情况下。tables.xlsx表中,full_name需要写全,即包括命名空间与表名(可选择不要命名空间)。value_type的话,不写命名空间默认与full_name同命名空间,写命名空间则按照自己写的。

7.3 表中空数据收集问题

表分为三种类型,讨论每种类型对于不完全填写的数据的收集情况。

  • 三种表都不会收集空行。
  • One表,单例模式,只能有一行数据。(没测试多行情况)
  • Map表,若缺少ID填写,其他有填写,则生成时报错。
  • List表,情况多种,分是否有Key的情况,暂时没测试。目前理解是,无key则只要一行中有数据就可以收集,若有key则同Map情况。

8 后记

暂时这些。

相关推荐
WarPigs1 天前
Unity阴影
unity·游戏引擎
一只一只1 天前
Unity之Invoke
unity·游戏引擎·invoke
tealcwu1 天前
【Unity踩坑】Simulate Touch Input From Mouse or Pen 导致检测不到鼠标点击和滚轮
unity·计算机外设·游戏引擎
ThreePointsHeat1 天前
Unity WebGL打包后启动方法,部署本地服务器
unity·游戏引擎·webgl
迪普阳光开朗很健康1 天前
UnityScrcpy 可以让你在unity面板里玩手机的插件
unity·游戏引擎
陈言必行2 天前
Unity 之 设备性能分级与游戏画质设置与设备自动适配指南
游戏·unity·游戏引擎
CreasyChan2 天前
Unity DOTS技术栈详解
unity·c#·游戏引擎
在路上看风景2 天前
1.1 Unity资源生命周期管理与内存机制
unity
CreasyChan2 天前
Unity的ECS(Entity Component System)架构详解
unity·架构·游戏引擎
神码编程2 天前
【Unity】 HTFramework框架(六十九)Log在编辑器日志中自定义点击事件
unity·编辑器·游戏引擎