准备工作
Google.Protobuf的学习(一:理解基本的使用流程)
Google.Protobuf的学习(二:使用protoc.exe生成自己的类)
Rider 2018.3
.Net Core 2.2
.Net Framework 4.7.2
Unity 2018.3
正文
首先我们要明确整体流程
首次进入游戏——创建数据储存的载体(.data文件)——玩家创建游戏存档(游戏正式开始)——写入数据——
从.data文件反序列化为具体的类(推荐设为静态类),至此,游戏中使用的数据将从这个类中取得,游戏中数据的变化也将同步到这个静态类上
——保存数据——将这个静态类序列化到最开始的.data文件——游戏结束
首先,依据Google.Protobuf生成.dll文件
将生成的dll文件放到Unity中注意版本对应(其实我这边挺玄学,明明是.Net Core2.2,非要.Net Core1.0才能正常使用,大家依据自己情况做出改变)
编写proto文件
Rider支持proto文件的编写(要下载Plugins),厉害啦(注意,其中的1不是初始值,而是参数,也可以理解为变量的ID)
//使用的protobuf版本
syntax = "proto3";
//命名空间
package PlayerDataManager;
//类
message OneOfPlayerDatas {
//int
int32 Hello= 1;
}
//类
message PlayerDatas{
//List<OneOfPlayerDatas> PlayerDataInstance
repeated OneOfPlayerDatas PlayerDataInstance = 1;
}
使用protoc.exe生成C#文件
可以创建.bat批处理程序进行此操作,参考
至此,环境的配置已经全部完成,下篇博客将会在实战中使用protobuf