前言
游戏开发中表格配置是必有的功能,我们会将一些游戏数据配置在表格中,一般流程是Excel编辑数据,然后导出C#的Model类和Unity中可用的二进制或者json/xml数据等,但如果碰到要一个需求,策划想要频繁修改数据并且在游戏中测试,这就发现我们需要频繁的在Excel中修改然后导出,然后启动Unity测试,这样的流程就显得很繁琐,而且我们不能保证我们填写的数据就是正确的,难免有手滑手误的时候,但也有针对这种情况的解决方案是程序写一个表格检查工具来检查Excel配置的数据书否合法,但还是显得比较麻烦,针对这一问题可以做的优化,在Unity中写一个Editor编辑工具来编辑对应的Excel数据,并且对应的数据根据类型来给一个约束,例如:范围类型的数据,可以配置一个Range滑动类型,这样策划修改的数据就不会超出这个范围,再比如配置一个bool类型,我们给一个toggle选择,如果其他类型我们可以写一个数据监测,如果策划配置的数据不正确会立马给出提示,这样就能确保数据的正确性,并且可以及时的在游戏中进行测试,确保配置的数据是自己想要的效果,然后在Editor中保存到Excel,就不需要再Excel中进行配置。Excel的读写我用的NPOI,然后Excel类型的读取我用的反射,这样可以确保策划可以随意的修改Excel的字段类型确保工具的健壮性。关于C#的反射,不熟的或者不了解的可以看我之前写的一篇,关于C#的反射,你真的运用自如嘛?
效果
编辑数据区域是简单的编辑修改,没有对类型做约束和类型指定和判断。
代码
1 | using System; |
工程下载
https://gitee.com/dingxiaowei/ExcelConfigEditor