
ILRuntime
文章平均质量分 63
童小豆子
这个作者很懒,什么都没留下…
展开
-
ILRuntime学习(之二)
第三个例子讲解是使用委托。使用dll内部的委托是不需要做处理的,可以直接使用。但是,如果dll中使用的委托是定义在UnityEngine等unity命名空间下的,则需要做一些注册处理。 HotFix_Project工程中使用了三个定义在例子中的委托,这些委托在unity工程中是没有办法读取到的。为此,我们需要给这些委托注册适配器。对于同一个参数组合的委托,只需要...原创 2018-12-07 19:59:19 · 1279 阅读 · 0 评论 -
ILRuntime学习(之一)
最近在学习ET框架,然后被群友告知,要先学ILRuntime。行吧,谁让咱是小白呢。。。。。 ILRuntime的学习资料我是参考的github上的教程https://ourpalm.github.io/ILRuntime/public/v1/guide/index.html和上面贴出来印象笔记(点击此处)。使用的Demo也是配套的,代码上面有很多注释。这次的学习目的...原创 2018-12-05 20:19:02 · 2780 阅读 · 0 评论 -
ILRuntime学习(之三)
第三个例子讲解是继承的问题。Hotfix_Projiect工程中的类继承了TestClassBase,而该类是定义在Unity主工程中的。例子还特意做了注解:Hotfix_Projict中的类只允许继承有1个Unity主工程的类或者接口,但是可以有随便多少个热更DLL中的接口。 使用Instantiate()方法创建热更工程中的类。由于该类是子类,所以使用了重载方法...原创 2018-12-08 16:49:14 · 1791 阅读 · 0 评论 -
ILRuntime学习(之四)
第5个例子讲解是重定向,原理按照官网的说法是:当IL解译器发现需要调用某个指定CLR方法时,将实际调用重定向到另外一个方法进行挟持,再在这个方法中对ILRuntime的反射的用法进行处理。例如new方法就是不能直接用的,要进行重定向才可以。例子中举了Debug.Log这个情况,比如我们在DLL里调用Debug.Log,默认情况下是无法显示DLL内堆栈的,但是经过CLR重定向之后可以做...原创 2018-12-17 19:25:23 · 2011 阅读 · 1 评论 -
ILRuntime学习(之五)
第7个例子讲解的是使用协程。在热更工程中使用协程已经属于跨域继承的范围了(使用Couroutine时,C#编译器会自动生成一个实现了IEnumerator,IEnumerator<object>,IDisposable接口的类,)。所以需要注册适配器才可以。 第8个例子是在热更工程是使用MonoBehaviour类。同样的,我们需要注册适配器。这里实例做了...原创 2018-12-18 17:40:16 · 1469 阅读 · 0 评论