前言:我们想要有一个方便的配置表功能,应当满足
- 简单:对策划友好 ,策划只需要关注配置表的格式和内容,然后点击
一键导表即可以在游戏中看到效果。- 完善:应当支持多种数据类型,数组,结构体等
- 性能:占用内存和存取速度
- 可热重载
简单定义一个配置表的基本格式
int,bool,float,string,etc.首先为每张表生成对应类,基类有一个Get方法,即
T{
int param0;
long param1;
}
T Get<T>(int id)
调用Get时,打开IO读取对应的txt文件流,写入对应的单例实例中。
可有一个PreLoadAll方法,提前加载好所有表。
简单来说就是有一个集合,集合是字典或者列表
有一个对应表的类
然后,要么生成内嵌代码,初始化的时候塞进去。拆解为独立dll
要么反序列化一串bytes,这个bytes可以是读本地文件或者网上down下来,读完之后bytes销毁
不再放到内存中,转为随用随取
有一串bytes,在内存中
需要读哪张表的哪个字段,直接取内存中取,然后返回。
先把txt表转成json存储,
然后用Bson将json反序列化出运行时对象
txt -> 手动转.fbs描述文件
txt -> 手动.json数据集合
flatc –csharp fbs 生成代码
flatc –binary fbs json 生成二进制.bin集合
但是protobuf不行
NativeArray降低堆内存,提高GC效率