FlatBuffers学习笔记二——生成二进制流文件

       很早之前我已经讲了如何生成表格解析代码点这里,本次讲一下如何将表格数据生成二进制流。

 

一、添加FlatBuffers插件

       如果我们要使用FlatBuffers技术,那么必须向工程中添加FlatBuffers插件,步骤很简单,我们新建一个Unity3D的空工程,然后在Asset目录下新建Plugins文件夹,并且将之前生成的FlatBuffers.dll文件放到此目录下即可。

 

二、设计数据表格

       我们做开发游戏项目时,经常要为策划设计表格,然后由策划来填写表格内容,程序来解析表格数据 用于业务逻辑。那么我们也从设计一个表格开始,比如我们设计一个怪物表Monster.txt,此文件为普通的文本文件,编码为UTF-8格式,内容如下:

                   #Id    Name    Desc    Level    HP    Attack    Depense
                   #INT    STRING    STRING    INT    INT    INT    INT
                   #怪物ID    怪物名称    描述    等级    血量    攻击力    防御力
                   1    大地之熊    大地之熊    1    100    2    0
                   2    烈焰土熊    烈焰土熊    2    180    5    1
                   3    噬魂蚁王    噬魂蚁王    3    200    8    2
                   4    玄冰毒蚁    玄冰毒蚁    4    250    12    3
                   5    九尾天狐    九尾天狐    5    300    18    3
                   6    幽冥火狐    幽冥火狐    6    380    20    5
                   7    不死雪狐    不死雪狐    7    420    25    6
                   8    极地冰狐    极地冰狐    8    480    28    8
                   9    八翼雷鹰王    八翼雷鹰王    9    600    30    10

        这个表每一行的数据之间都以制表符"Tab"相隔,第一行为表的列名,第二行为每一列的数据类型,第三行为对每一列的释义,从第四行开始就是怪物表的属性值了,那么我们就从这样一张表开始讲解如何将此表数据转化为FlatBuffers格式的二进制流文件.

 

三、制作fbs文件

       根据上面Monster的表结构,我们可以制作如下的fbs文件,也可以自己写代码来生成fbs文件,生成后的Table_Monster.fbs文件内容如下:

namespace FlatBuffersDemo;

table Table_Monster {
  data:[Monster];
}

table Monster {
  Id:int;
  Name:string;
  Desc:string;
  Level:int;
  HP:int;
  Attack:int;
  Depense:int;
}

root_type Table_Monster;

 

四、生成解析表数据的代码文件

       按照上一节中讲的步骤使用flatc.exe工具来生成解析代码文件Table_Monster.cs,使用如下的命令:

flatc.exe --csharp --gen-onefile Table_Monster.fbs

      使用上述指令后,会生成如下的代码:

// <au
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值