Hotfixers
Coding Style wiki
using OxGFrame.Hotfixer;
核心機制說明
Hotfixers 主要與 HybridCLR 整合,負責在運行時:
- 補充 AOT 元數據: 解決泛型實例化等問題。
- 加載熱更新 DLL: 將更新後的邏輯注入執行緒。
Patch Operation (更新與檢查)
執行熱更新檢查與加載的核心方法。
CheckHotfix
開始下載並加載所有熱更新相關檔案。
-
自動配置模式
CheckHotfix(string packageName, Action errorAction = null)CheckHotfix(PackageInfoWithBuild packageInfo, Action errorAction = null)- 提醒 此模式會自動讀取
StreamingAssets中的HotfixManifest.dat配置文件。
-
手動指定模式
CheckHotfix(string packageName, string[] aotAssemblies, string[] hotfixAssemblies)- 支持手動傳入需要補充的 AOT 程式集與熱更新程式集清單。
Status & Cache (狀態與緩存)
- IsDone()
- 返回熱更新是否已完成加載。
- 等待 Hotfixers.IsDone() 之後再進入遊戲主邏輯與資源更新。
- IsDisabled()
- 檢查當前環境是否禁用了熱更 新功能(通常用於開發者模式)。
- 重要 如果禁用 HybridCLR,必須搭配 Macro OXGFRAME_HYBRIDCLR_DISABLED,才能有效剔除熱更流程。

- Reset()
- 重置熱更新的標記與緩存數據,如果不是社群版的話,是商業版支持 HotReload 則可以使用 Reset 重置。
Assembly Info (程式集資訊)
提供運行時已載入的程式集查詢。
AOT Assemblies (元數據程式集)
- GetAOTAssemblyNames(): 獲取 AOT 程式集名稱(含
.dll擴展名)。 - GetAotAssemblyNamesWithoutExtensions(): 獲取 AOT 程式集名稱(不含擴展名)。