前两篇讲解了如何使用导入NuGet程序包和动态链接库的方式来使用Protobuf-net。接下来将讲解如何直接在Unity中使用源码来进行序列化与反序列化操作。
首先需要获取源码,获取方式上一篇已经说明,不清楚的可以看:[Unity3D]简单使用Protobuf-net(二)
创建一个Unity工程,然后将源码中的“protobuf-net”文件夹导入到Unity工程中,“protobuf-net”文件夹是“protobuf-net”的工程目录,包含了其所有的需要用到的源码。等待Unity编译完成。
经过Unity编译后会报不安全代码的错误,是因为使用了指针,则需要在Assets目录下添加一个“smcs.rsp”文件,用于控制smcs的脚本编译。
在“smcs.rsp”中添加如下内容:
-unsafe
-define:FEAT_COMPILER;PLAT_BINARYFORMATTER;PLAT_XMLSERIALIZER;PLAT_NO_INTERLOCKED;FEAT_SAFE
-unsafe 表示允许不安全代码;
-define 定义宏,用于控制需要编译的代码。因为是在Unity中使用,就按如上定义。不清楚如何定义的可以看“protobuf-net”工程目录下的“protobuf-net.csproj”文

本文介绍了如何在Unity3D项目中直接使用Protobuf-net的源码进行序列化和反序列化操作。首先,从源码获取并导入到Unity工程,解决因使用指针导致的不安全代码错误,通过创建“smcs.rsp”文件启用不安全代码编译。接着,展示了如何使用Protobuf-net进行对象序列化,强调其使用方式与前两篇博客一致,同时指出对象定义可手动或通过.proto文件自动生成。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



