粗略梳理一下ILRuntime热更学习的成果
1.ILRuntime导入工程
根据官方文档,unity2018以上版本直接在PackageManager中导入即可
2.建立热更工程
热更代码单独建立工程管理,ILRuntime的通过dll(动态链接库)与unity桥接,热更工程生成dll后,在unity中加载dll和pdb文件,通过ILRuntime的api读出热更工程中的逻辑。
(ps:可以直接把官方示例中的HotFix_Project~工程拿来用,不过还是自己建立了工程,跑下流程)
3.在热更工程中引入Unity库
引入unity库,方便在热更工程中编写unity逻辑,我自己目前只引用了如下两个库
CoreModule位于编辑器的安装目录下,UnityEngine.UI位于项目的library中,有这两个库基本的UGUI逻辑就没问题了
4.在项目中调用热更代码
ILRuntime的官方demo中有完善示例,主要通过资源加载的方式读出dll,使用appdomain.LoadAssembly(参数)加载dll的程序集,然后通过appdomain.Invoke(参数)调用热更代码