该源代码是根据一网友发布的代码改过来的,原地址:在Unity5中使用Protobuf,代码的修改与发布已联系原作者同意。感谢原作者开源提供此方案
网络游戏开发中网络数据协议是一个很重要的组成部分,网络数据协议目前常用的有JSON,自定义数据结构,Protobuf等第三方提供的数据格式。
JSON主要是传输的字符串,优点是阅读方便,出错了比较容易排查,缺点是同样的数据需要的字节数要多。自定义数据结构字节数少,也可以灵活定义各种数据结构,但是对于前后端跨平台开发不方便,明明一样的代码,却要写两遍。Protobuf以其Google背景及各种优势为越来越多的人选择。具体的请自行搜索。
Protobuf可以直接进行跨平台自动生成代码,对于C#为开发语言的游戏来说,可以自动生成c#代码,为了更好的开发,打包成DLL是一个不错的选择。
这里使用批处理来实现这个功能,所有代码已上传到[github地址](https://github.com/suifcd/ProtobufAutoCreate)
项目结构如图
这里说下使用方式:
1.将自己编写的proto文件放到ProtoFile目录下
2.AssemblyInfo.cs 填写生成的Dll描述信息
3.右键打开编辑build.bat&