网站大量收购独家精品文档,联系QQ:2885784924

Unity游戏配置表格代码自动生成术1535.docx

Unity游戏配置表格代码自动生成术1535.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Unity游戏配置表格代码自动生成术1535.docx

Unity 游戏配置表格代码自动生成术说起游戏配置表,不论是游戏程序还是游戏策划,都是每天都在打交道的、最普通不过的东西。相信不少游戏程序员,撸过大量这样的代码:[AppleScript]?纯文本查看?复制代码??01020304050607080910111213141516171819202122232425262728293031323334353637classSkillSetting{????public int Id;????public stringName;????public stringDesc;????public int Arg1;????public int Arg2;????public int Arg3;????//.....????//.....}?classSkillSettingManager{????//.....????public void Init ()????{????????var table =TableReader.Read(jineng.txt)????????for(var line =0; line =table.RowsCount; line++)????????{????????????Id =table.GetRow(line,id);????????????Name =table.GetRow(line,name);????????????Desc =table.GetRow(line,desc);????????????Arg1=table.GetRow(line,arg1);????????????Arg2=table.GetRow(line,arg2);????????????Arg3=table.GetRow(line,arg3);????????????//......????????}????}}//....//.....//......classBuffSettingManager {.... }classTaskSettingManager {.... }classMissionSettingManager {.... }?//.... 接近上百个XXX SettingManager相信不少游戏策划,都遇到过这样的配置表:好吧。大家都或多或少遇过这些问题:大量的配置表代码需要手工撸,枯燥繁杂大量的手工配置表代码跟随着大量的BUG策划配置表跟程序代码经常命名不一策划新人看不懂配置表的这一列究竟是干嘛的策划同学想要更方便的工具提升工作体验配置表加载严重影响游戏启动速度运营需求对游戏配置表修改热重载,手工代码没有支持配置表相关联的功能和BUG消磨大量的研发、运营时间嗯,多么痛的领悟。接下来抛砖引玉,让我们一起探讨一种游戏配置表的优化方案。需求编辑游戏配置表的用户首要就是我们的策划同学了,而策划同学最喜欢最顺手的工具非Excel(或WPS表格)莫属了。 当然了,也见过自己开发编辑器工具的,但我们毕竟不是全职做工具开发,没必要额外的增大工作量。因此我们可以在Excel表格设计上,动动手脚。策划同学有这样的需求:配置表的列头带上注释策划同学可以在任意他们喜欢的地方做注释策划同学可以在他们的配置表中的添加文档性东西如图表、文字框有时候同样的表,可以拆分成多张,方便编辑拿到这样的一份配置表后,程序同学有这样的需求:希望配置表的代码是可以自动生成的部分复杂逻辑的可以自定义扩展的为配置表的列定义类型方案编辑针对这些需求,我们就有了这样的这个结果:?第一行是列名第二行是程序用途的类型声明,如int, Dictionaryint, string第三行是该列的注释列名以#开头,则这一列为注释列(忽略该列单元格内容忽略)行的第一个单元格内容以#开头,则这一行为注释行(所有行单元格内容忽略)可以加入图表、第二张工作表作为辅助内容将这样的一张表,保存为SettingSrc/Test.xls文件。下面我们使用一个名为TableML的执行程序,可以从Releases · mr-kelly/TableML · GitHub下载测试,并包含源码和单元测试。TableML.exe --Src SettingSrc --To Setting --CodeFile Code.cs在SettingSrc目录下执行这个配置表编译命令,会把所有的Excel文件,编译成Tab分隔的表格纯文本(TSV),并生成一个代码文件Code.cs。编译后的TSV文件Test.tml纯文本内容,实质就是剥离了注释的Excel表格。Excel表编译结果:?同时命令生成代码:[AppleScript]?纯文本查看?复制代码??0102030405060708091011121314151617181920212223

文档评论(0)

liuxiaoyu98 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档