Unity3d dll 热更新 基础框架

APK包装到用户手机上后,代码如何更新,总不能全用LUA吧?特别是代码非常多的战斗手游

 

昨晚上有了dll 热更新的想法,今天做了一天的实验,也遇到些坑,这里总结下

工作环境: U3D5.3.2 + vs2010 +mono

下面要模拟的是一个登陆环境,点击按钮,就加载一个iGameObjec的Item,  Item 上得到更新的文本内容。具体如下图

 

1> 程序集管理

2> Dll管理与加载 

3> 逻辑代码和UI的实现 

4> 打包dll+打包Assetbundle

 

 

限制1:在Android手机里动态加载dll不能使用Assembly.LoadFile(string path),只能使用Assembly.Load(byte[] rawAssembly)这个接口,所以要自己想办法先读出来。


限制2:动态加载的脚本不能在编辑器里挂在prefab上。


限制3:如果脚本在动态dll里,调用AddComponent()挂此脚本上prefab上时不能使用AddComponent(“SomeScript”)的方式调用,要用AddComponent(Type.GetType(“SomeScript”))。


限制4:在动态dll里使用[RequireComponent(typeof(SomeScript))]无效,所以不能使用。

本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/p/8278893.html如需转载请自行联系原作者


jiahuafu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值