Xlua接入需要反射出所有需要熱更新的類,標記上[Hotfix]這樣的特性,剛開始我想的是通過代碼生成的方式 生成cs文件 類似下圖:
但是這種行爲會導致幾個問題,其一就是項目組成員遇到刪除類的時候,需要同步的將這個文件中的類引用也刪除掉。
另外一個,打包的時候,由於生成的代碼在編輯器下運行,新生成的代碼並沒有編譯出來,導致編輯器可能用的是上一版本的代碼,造成熱更新的不確定性。
修改後使用反射做這件事情,這也是Xlua推薦的方式,原理是獲取到Assembly,通過判斷每個類是否需要熱更新來加入到熱更新列表