Noark入门之策划配置

游戏开发中,策划就是导演,策划为了掌控游戏世界的规则,从而引入了策划配置文件.

Noark内置了CSV文件到JavaBean映射,由Excel到CSV文件请参考导表工具的实现

编码模板类文件ItemTemplate.java

1@TplFile("Item.tpl") 2public class ItemTemplate { 3 /** 道具编号 */ 4 @TplAttr(name = "Id") 5 private String id; 6 /** 道具名称 */ 7 @TplAttr(name = "Name") 8 private String name; 9 /** 品质 */ 10 @TplAttr(name = "Quality") 11 private int quality; 12 /** 道具图标 */ 13 @TplAttr(name = "ICON") 14 private String icon; 15 16 ...省略GetSet方法 17}

道具模板管理类ItemTemplateManager.java

1@Service 2public class ItemTemplateManager extends AbstractTemplateManager { 3 4 private Map<String, ItemTemplate> itemTemplates; 5 6 @Override 7 public String getModuleName() { 8 return "道具系统"; 9 } 10 11 @Override 12 public void loadData() { 13 this.itemTemplates = templateLoader.loadAll(ItemTemplate.class, ItemTemplate::getId); 14 } 15 16 public ItemTemplate getItemTemplate(String id) { 17 return itemTemplates.get(id); 18 } 19}

是不是很简单...

使用场景1:道具表被策划分为多个Sheet来存放,比如普通道具一个Sheet,宝石一个Sheet,装备一个Sheet,如何来写模板呢...

建筑策划同学道具共有配置把名称搞一致,方便抽象.

先来一个抽象类AbsItemTemplate,共有属性放这里,其他每一个功能实现一个子类...

如果策划作死,两个表中同一功能的配置名称不一,那就定义一个接口子类实现,只是日后维护有点蛋疼,祝你性福...

结论:Noark是支持父类中编写属性配置的

使用场景2:策划把XX属性配置给删了,但又想在日后加回来了...

直接参考编码

1@TplAttr(name = "Level", required=false) 2private int level = 1;

配置字段默认是必选项,但可以手工设置为false

结论:Noark是支持属性为非必选,在没有配置的情况下使用属性的默认值

使用场景3:策划想配置一个数组,比如 1,2,3,5,6,7

1@TplAttr(name = "UnlockList") 2private IntList unlockList;

IntList为Noark提供的int[]接口,具体由IntArrayList类实现,用法参考JDK的ArrayList

使用场景4:除了int, long, boolean, String, IntList还能使用哪些类型

目前默认支持JDK的基本数据类型和相关数组类型,自定义类型请参考转化器介绍

理论上支持所有数据类型的映射...

点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

vue+iview中的table表格导出excel表格

一、iveiw框架中table中有exportCsv()方法可以导出.csv后缀文件,类似于excel文件,但是并不是excel文件。二、实现table表格导出excel文件利用Blob.js和Export2Excel.js两个文件实现  1.Blob.js和Export2Excel.js文件    链接:https://pan.baid

震惊!!Flutter 2 来了!

{{{width300}}}作者|Flutter官方博客译者|核子可乐策划

2021 最顶级 React 组件库推荐

点上方蓝字关注公众号「前端从进阶到入院」作者丨MaxRozen译者丨王强策划丨小智AntDesign!(https://oscimg.oschina.net/oscnet/a85c35f23bd04e5da6a1e5e68a24119b.png)项目链接:AntDesignh

TypeScript 4.0正式发布!现在是开始使用它的最佳时机

!(https://oscimg.oschina.net/oscnet/9d5dde21c00d49b6b148bfabfc93db57.jpg)作者|DanielRosenwasser译者|王强策划|李俊辰稿源|前端之巅微软宣布TypeScript4.0正式版上线了!这一新版本深入改进了表现力、生产力

Python之CSV模块

1\.CSV简介CSV(CommaSeparatedValues)是逗号分隔符文本格式,常用于Excel和数据库的导入和导出,Python标准库的CSV模块提供了读取和写入CSV格式文件的对象。1.1csv.reader对象和csv文件的读取

Noark入门之策划配置 - HelloWorld