Unity下使用DLL热更新

本文介绍了如何在Unity中实现DLL热更新,通过Monodevelop创建继承MonoBehaviour的DLL,然后在Unity中加载并使用。文章详细阐述了加载DLL、反射调用DLL中的方法和属性的过程,并探讨了在DLL中使用Unity插件的限制和解决策略。

额》》》》    开场白,第一次写,不好的或者有什么不对不要喷,指点一下大家进步。。


问题搁一边,直接入主题:

先制作能绑在unity的gameObject里面的DLL,打开monodevelop,,,新建一个Library。然后按照下面:

先打开references

找到unity安装路径下面的unityEngine.dll 引进来

myClass要继承: MonoBehaviour这个哦!!!

这样就可以了,剩下的自己随便写个测试的函数和一个属性。。OK,接下来交给unity了。

新建test.cs脚本:(绑在camera下,其实哪里都行的)

然后,

var fs = new FileStream(path, FileMode.Open); 
        var b = new byte[fs.Length];
        fs.Read(b, 0, b.Length);  

本课程主要是针对ILRuntime设计一个独立的脚本热更新框,框架的优势:1.将代码脱离Assetbundle资源,独立的部分适用于各种不同的框架。2.加快项目的逻辑新,bug修复.(后期修bug,多数情况下并不用动到资源,只需要脚本代码,无需重走资源打包发布流程,大大提升效率)3.提供模式和正常开发模式的快速切换接口,可以让队友像平常一样去开发.4.不依赖市面上的任何AB框架,完全兼容市面上各种不同的AB框架.5.重点:希望通过它,帮助你学习、了解ILRuntime真正在项目中的应用.框架的将提供以下这些接口,这些接口将从0开始,在Unity里将C#脚本编译成dll,然后将dll放到服务器上,再将dll下载下来,进行加载,到最后从Unity主工程调用热更新的代码逻辑.1.Create hotfixdll接口将部分的代码 编译成dll生成dll版本配置(MD5)2.新对比接口本地跟服务器的dll进行版本对比3.下载dll下载dll本身的文件下载版本记录文件4.加载dll加载dll实例化:AppDomain初始化:注册跨域继承适配器注册委托适配器LitJson重定向调用性能优化(CLR绑定功能)调用接口Hotfix.HotfixApplication.Main 进入逻辑5.ILMonoBehaviour用于监听组件的生命周期,实际是桥接(调用)的逻辑AwakeStartEnableUpdateLateUpdate.......6.添加其他常用的库DOTweenLitJsonSpineGoogle.ProtobufTextAnimation可以根据上面的方式,自行添加依赖的库... 
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值