这次放出一个excel导protobuf工具
先上个图
使用方法
导出proto以及对应cs文件和配置bytes文件
1.设置好上图路径
2.一键导出proto(等编译完)
3.一键导出数据(数据导出在resources目录下,可以设Assetbundle不过要自己改导出路径)
注意删掉要删掉配置表路径下的excel表,以及proto文件,bytes文件,还有unity工程Plugins/proto路径下的对应的proto文件
unity里面使用
1.一句初始化配置代码
2.获取单个配置的方法(里面传id第一列作为唯一id)
//只执行一次
CfgMgr.GetIns().LoadAllConfig();
//获取配置
buffConfig cf = CfgMgr.GetCfg().Getbuff(1);
Debug.LogError(cf.buff_name);
工具原理
1.规范excel规范只支持.xlsx 前三行(描述,类型,字段名)如下图
2.读取每个excel表前三行,自动创建单个proto文件,proto文件包括单个配置已经这个配置列表(如下图)
3.最后根据所有表创建一个总表proto
4.利用protobuf工具把proto文件生成cs文件(放在unity里面,需要编译)
5.自动生成获取配置代码GetConfig(不用反射获取)
5.遍历总表代码属性把对应的excel表数据读取出来
6.最后导出bytes文件
扩展:配置表数据可以单个表导出避免和别人冲突
改成单个表导出问题不大,单个表加载可以自动生成代码的时候一个加载配置一个方法,然后用个方法把所有加载方法调用一次就可以
下面放出工程地址
https://github.com/PieKen/Excel2Protobuf
https://gitee.com/PieKen/Excel2Protobuf
这个工程目前不支持ilruntime(主工程和热更工程用同一份),如果换成protobuf 3 ilruntime版本,也类似只是部分工具改改,我这边已经把工具集成ilruntime unity工程