Xlua接入需要反射出所有需要热更新的类,标记上[Hotfix]这样的特性,刚开始我想的是通过代码生成的方式 生成cs文件 类似下图:
但是这种行为会导致几个问题,其一就是项目组成员遇到删除类的时候,需要同步的将这个文件中的类引用也删除掉。
另外一个,打包的时候,由于生成的代码在编辑器下运行,新生成的代码并没有编译出来,导致编辑器可能用的是上一版本的代码,造成热更新的不确定性。
修改后使用反射做这件事情,这也是Xlua推荐的方式,原理是获取到Assembly,通过判断每个类是否需要热更新来加入到热更新列表