Unity游戏配置表代码自动生成术

中科白癜风公益惠民活动 http://nb.ifeng.com/a/20190527/7447319_0.shtml

说起游戏配置表,不论是游戏程序还是游戏策划,都是每天都在打交道的、最普通不过的东西。

相信不少游戏程序员,撸过大量这样的代码:

classSkillStting

{

publicintId;

publicstringNam;

publicstringDsc;

publicintArg;

publicintArg;

publicintArg;

//.....

//.....

}

classSkillSttingManagr

{

//.....

publicvoidInit()

{

vartabl=TablRadr.Rad("jinng.txt")

for(varlin=0;lin=tabl.RowsCount;lin++)

{

Id=tabl.GtRow(lin,"id");

Nam=tabl.GtRow(lin,"nam");

Dsc=tabl.GtRow(lin,"dsc");

Arg=tabl.GtRow(lin,"arg");

Arg=tabl.GtRow(lin,"arg");

Arg=tabl.GtRow(lin,"arg");

//......

}

}

}

//....

//.....

//......

classBuffSttingManagr{....}

classTaskSttingManagr{....}

classMissionSttingManagr{....}

//....接近上百个XXXSttingManagr

相信不少游戏策划,都遇到过这样的配置表:

大量的配置表代码需要手工撸,枯燥繁杂好吧。大家都或多或少遇过这些问题:

大量的手工配置表代码跟随着大量的BUG

策划配置表跟程序代码经常命名不一

策划新人看不懂配置表的这一列究竟是干嘛的

策划同学想要更方便的工具提升工作体验

配置表加载严重影响游戏启动速度

运营需求对游戏配置表修改热重载,手工代码没有支持

配置表相关联的功能和BUG消磨大量的研发、运营时间

嗯,多么痛的领悟。

接下来抛砖引玉,让我们一起探讨一种游戏配置表的优化方案。

需求

编辑游戏配置表的用户首要就是我们的策划同学了,而策划同学最喜欢最顺手的工具非Excl(或WPS表格)莫属了。当然了,也见过自己开发编辑器工具的,但我们毕竟不是全职做工具开发,没必要额外的增大工作量。

因此我们可以在Excl表格设计上,动动手脚。策划同学有这样的需求:

配置表的列头带上注释

策划同学可以在任意他们喜欢的地方做注释

策划同学可以在他们的配置表中的添加文档性东西如图表、文字框

有时候同样的表,可以拆分成多张,方便编辑

拿到这样的一份配置表后,程序同学有这样的需求:

希望配置表的代码是可以自动生成的

部分复杂逻辑的可以自定义扩展的

为配置表的列定义类型

方案编辑

针对这些需求,我们就有了这样的这个结果:

Excl源表

第一行是列名

第二行是程序用途的类型声明,如int,Dictionaryint,string

第三行是该列的注释

列名以#开头,则这一列为注释列(忽略该列单元格内容忽略)

行的第一个单元格内容以#开头,则这一行为注释行(所有行单元格内容忽略)

可以加入图表、第二张工作表作为辅助内容

将这样的一张表,保存为SttingSrc/Tst.xls文件。

下面我们使用一个名为TablML的执行程序,可以从


转载请注明:http://www.aierlanlan.com/rzfs/118.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了