工具结构:针对每张表格生成一个表格类,其中默认包含一个list和字典类型参数记录表格数据,初始化项目时将list中的数据转为按id索引的dictionary,用于访问数据。额外包含一个同名Temp后缀的类,记录表格的字段、备注等信息,增删字段时也就是自动修改本地代码内容并重新编译:
![](https://img-blog.csdnimg.cn/f49815e083d1460a8290b0c9d8560a32.png)
配置数据以asset文件格式序列化存储,并可以直接预览内容:
![](https://img-blog.csdnimg.cn/4183794f0a7246a3a316337bc1d3b134.png)
操作使用:
打开配置面板:菜单栏 -> Tools -> 配表
点击行数选中/取消选中一行:
![](https://img-blog.csdnimg.cn/197f3a56eab0422a94d2081cc9eab0bc.gif)
点击参数名编辑参数相关:
![](https://img-blog.csdnimg.cn/27005e3757b1473f9377cf4d95024427.gif)
点击[…]按钮展开其他选项操作:
![](https://img-blog.csdnimg.cn/98e02f4c812e42c0ad56257a37184a1c.gif)
点击表中的数组单元格按钮可展开编辑:
![](https://img-blog.csdnimg.cn/fe5a9eece4244d2cbe724adcf01950e3.gif)
ctrl+z撤销编辑
tab跳转到下一个
基本功能:
表格的新增、重命名和删除:
![](https://img-blog.csdnimg.cn/5c32d952df0d4356b218251336e03304.gif)
参数的新增、重命名、删除、修改描述、修改类型:
![](https://img-blog.csdnimg.cn/47fe5a0b54a542d689b46bccb17d582c.gif)
行数据的新增、插入、删除、选中、取消选中:
![](https://img-blog.csdnimg.cn/6700139ecf5d4eb69b57cdb0f0d79773.gif)
数组数据的展示、编辑、展开、折叠
表格数据初始化和按id访问
额外功能:
数据搜索和高亮:
![](https://img-blog.csdnimg.cn/dbcd0cd89ee34b93be419a971e21dbf5.gif)
Id重复校验提示:
![](https://img-blog.csdnimg.cn/d2ec6546b0644915b4e62b52a3bd8286.gif)
数据按Id排序
调整参数顺序:
![](https://img-blog.csdnimg.cn/fd78f3f69b174deeb672313fb94833c7.gif)
自动打开上次编辑的表格
编辑窗口的错误提示:
![](https://img-blog.csdnimg.cn/d4b31d20b27047108caf4b755b7e2d79.gif)
参数类型可自定义扩展:
![](https://img-blog.csdnimg.cn/3851b8d006b34ccd8efd3e615f263890.png)
用户扩展:
在GenerateMgr类中的typeList末尾新增自定义类型
若有必要,在defaultUsingArr中新增生成脚本需要的命名空间
使用配置:
初始化配置数据:ConfigMgr.LoadConfig();
按id获取数据:TableName.GetConfig(id)
获取表格所有数据:TableName.dic
注意:
本插件需配合OdinInspector插件使用
插件相关的文件夹名不可修改,否则会无法访问到文件
总结:
1.支持unity引用类型和其他内置类型的编辑和配置,能更容易实现较为复杂的配置内容。
2.数据查看和修改更加方便省时,学习成本小。
3.数据量较多时,面板数据绘制方面的性能有待优化。
4.项目较大时,修改表格结构的编译时间可能较长,尤其是需要频繁修改结构时。
5.可强制转换参数类型,方便修改配置
6.相比于传统搜索功能,更加直观好用
7.方便在此之上做各种界面编辑和校验的拓展
8.数据以asset文件格式存储,支持多人协作合并文件修改
9.支持运行时修改配置内容
10.支持自定义数据类型的扩展配置
11.在只做数据内容改动或者增删行时,不需要等待编译,节省时间。
12.操作上功能还不够丰富,有待拓展补充优化体验。
13.不支持按照名字索引的配置,待后期开发。