Unity3d dll 热更新 基础框架

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

 

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

工做环境: U3D5.3.2 + vs2010 +monoblog

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

 

1> 程序集管理ip

2> Dll管理与加载 string

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))]无效,因此不能使用。im

相关文章
相关标签/搜索