DragonWind

关于配置表

前言:我们想要有一个方便的配置表功能,应当满足

基本格式

简单定义一个配置表的基本格式

以原始TXT表

首先为每张表生成对应类,基类有一个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反序列化出运行时对象

现在的ProtoBuf加载表的流程是

FlatBuffer流程

txt -> 手动转.fbs描述文件

txt -> 手动.json数据集合

flatc –csharp fbs 生成代码

flatc –binary fbs json 生成二进制.bin集合

但是protobuf不行

可能的问题