unity 热更新 c# 实战经验分享(二) - 动态Protobuff协议,再也不用担心为了换条协议换包了 ~~!
先提前说明一下,如果哪位小伙伴 觉得生疏的话,可以看这篇博客的前面两个博客,里面讲述了 高大上 JSB,unity 热更新方案,用强大的宇宙第一编辑器vs 来开发 unity 热观更新脚本,更新c# 不在是梦
这次的demo 工程我已经长传了,地址 在这里http://pan.baidu.com/s/1qWQlXUW;下载后(放在D盘 放在D盘 放在D盘!!!!)里面的unity 工程直接打开然后运行main 场景 。就会出现下图,这篇博客唯一 的意义就在于这个demo,实战就是实战不跟你讲废话,不讲理论,直接来可以运行的版本
为什么要热更新Protobuff?
原因 :可以 在服务器面前装逼说 ,你们换网络协议不用换游戏包 ~~! 你们丑,你们换个协议还要停服.....
怎么做?
怎么去做,这个问题,我还是强烈建议去百度云盘下载的demo 工程,点开就直接运行,我在这里会严格的按照那个demo 来说
步骤1:建立热更新工程 ,如何创建不懂的小伙伴,可以看前篇,创建好之后如图。之后放入我写好的脚本
步骤2:在unity工程里面执行 写好实验用的脚本
上面代码的意思就是去执行
这个函数,是不是非常的简单??
,这套东西核心采用了 https://github.com/dcodeIO/ProtoBuf.js ,然后用includes .js 引进过来
之后用ProtoBufferWrap .cs 包装成c# ,以供 c# 上层使用
注意事项
1,js 里面的数字和 c# 里面的long不是相等的,这是语言导致的,不是protobuff 的问题。ProtoBuf.js 本身做了处理,自己定义了js的long 在long_min 里面
2,decode 出来的 object 强制转换之后的 对象,里面是没有函数的,在整套jsb 体系中只有new出来的对象才会有函数
最后欢迎到来JSB qq群:189738580,我们等你奥