1.MeeagePack简介
适用于 C# 的极快MessagePack序列化器。它比MsgPack-Cli快 10 倍,并且性能优于其他 C# 序列化器。MessagePack for C# 还内置了对 LZ4 压缩的支持 – 一种极快的压缩算法。性能很重要,尤其是在游戏、分布式计算、微服务或数据缓存等应用程序中。
2.MessagePack使用
2.1下载MessagePack的Unity专用包
github地址:github.com/MessagePack…
进入上述网址,在右侧找到release,点击进入
找到UnityPackage包,下载
2.2在Unity项目中导入MessagePack
打开Unity项目,选择菜单栏Assets/Import Package,选择刚刚下载的UnityPackage包
选择之后会弹窗如下,选择全部,点击Import导入即成功
2.3代码自动生成器
利用MessagePack进行序列化与反序列化,需要将要序列化的类用属性[MessagePackObj]标识,要序列的数据类型的权限必须是公开(Public)的,当然也允许私有(Private),详细使用请参考MessagePack官方使用,要序列化的数据类型用[key(0)]进行标识,括号里的int值依次加一。这里messagePack提供了代码自动生成器,导入unityPackage同时也会生成自动代码生成器,位于Windows-MessagePack-CodeGenerator。点击后会弹出代码生成器,界面如下:
第一栏为输入路径,这里输入的路径为你想要序列化的CS文件位置,如图,我将所有要序列化的cs文件放在Assets文件下的Libs文件夹。第二栏为输出路径,如图我定义为Assets文件下的MessagePack文件夹,点击Generate后,所有序列化的代码将自动生成输出到MessagePack文件夹下。生成成功后Unity控制台将会打印相关的日志信息,如下:
同时也可以查看输出文件下是否新增了新自动生成的代码,如下:
3.在Unity中的实际应用
利用MessagePack进行序列化与反序列化,可以实现项目的配置、数据的快速保存即加载,在实际工程的应用可以参考我的上一篇文章如何用Unity写一个“健壮”的贪吃蛇项目。里面用MessagePack实现了游戏设置即游戏记录数据的保存及加载。
关于MessagePack在Unity项目中的简单使用介绍就到这里了,更多使用欢迎大家评论区留言讨论,谢谢!