【聚光灯·巡洋风筝工作室】开发日志08——猫猫都能学会的读表

2024/10/2421 浏览综合
1.导入插件QuickSheet
下载,解压,塞进Assets文件夹,非常美味
后续的操作按照该插件的手册部分,这里读取的是Excel文件,就按照QuickSheet官方说明网址中的HowToExcel来操作https://kimsama.gitbooks.io/unity-quicksheet/content/excel-howto/
这里做一下流程的简单复述,毕竟实际的操作与手册中有些许出入
但首先需要右键Create-QuickSheet-Tool-Excel
这样会创建一个New import Setting,将它修改为自己喜欢的名字,然后开始对它进行亿点点的初始化
2.Setting初始化
2.1读取文件
TapTap
创建的ImportSetting
这个用于导入列表的Setting看起来是这样File很好理解,就是需要导入的Excel文件,SpreadSheetFile是自动导入,在选择完File文件会自动读取文件的名字。当然偶尔会有例外,但是没事的,报错会告诉你这里有问题的。
然后WorkSheet则是这个Excel中你需要读取的Sheet
2.2读取列表项
TapTap
这里点击Setting中的Import他就会按照表格中的第一行导入对应的各项数据。
以我们正在制作的游戏中的表格为例子,他会读取所有项并且要求你定义每个项的类型(但是我没有试过不定义具体类型会不会爆炸)如果需要后续插入新的项的话,可以使用那个Update,ImportSetting会重新读取数据。
但是根据目前的翻车经验,最好不要在中间插入新的项,新的项最好插入到表格右侧。因为当前Udpate的机制是检测到新的项会默认添加到最后,而不是按照当前的位置刷新。如果一定要插入到中间就使用ReImport,虽然这样要重新设定Setting的Type。
顺便一提,如果Setting的Member和表格中的项的顺序没有对应,就会报错并且读取报错前的那些项的数据,比如TowerType和TowerHP的顺序反了,在读取TowerType的时候会表示找不到Type,然后检查数据会发现所有的项值读了TowerType前的数据)顺便在翻车的过程中有复制粘贴导致的读取若干空数据的情况,选中那些你觉得有问题的表格空内容右键清除内容可以解决问题(大概)
2.3 PathSettings
这部分的内容我不是很理解,大致上是他的脚本中有一个对应的模板,它会根据模板来程序化地生成对应的物品的SO脚本,和包含该SO脚本列表的另外一个SO数据。
具体的模板信息在“QuickSheet/ExcelPlugin/Templates”目录下,这段模板目录地址很重要,我们马上要用到。
回到正题来,需要填写PathSettings中的三项信息。
Template:模板脚本文件的位置
RunTime:runtime生成脚本的放置位置
Editor:Editor生成脚本的放置位置
这里Editor的脚本部分先略过不谈,因为我没有细看(不懂)。RunTime文件夹对应Setting名字的两个SO脚本,比如此处我的脚本读取的WorkSheet叫做EnemySOList,就会生成对应的EnemySOList的SO用于储存列表。而另外一个EnemySOListData用于储存Settings你所设定的各个Member
TapTap
生成的对应文件
而Template直接使用刚才提到模板信息目录“QuickSheet/ExcelPlugin/Templates,因为我没空(没本事)对它修修改改。
到了这里Import的Setting最好看起来像是这样。
TapTap
然后就可以快乐地点击Generate,快乐地享受它为我们读取并生成的列表和BUG。
TapTap
不出意外的话会产生以下两个BUG,点击进去会看到BUG产生的原因是两个愚蠢的斜杠反了,将这两个报错的“\"修改为"/"就修好了。也
修改模板文件可以永久性地解决问题,但是这就留到日后再研究吧。
TapTap
下划红线的位置就是需要i需改的地方
现在读取出来地列表应该和下面这样,如果单纯只是修改数据的话点击Update即可更新。当然有很多时候它会自动更新,手动在Unity中修改数据测试的时候需要注意。
TapTap
3结尾
最后的最后叠个甲,因为本人很菜,如果有人有更好的方法请教教我,上面的内容都是在我爹GPT的引导下完成的粗糙成果。如果有人用到了请务必点赞评论收藏三连。
1