xLua 2.1.12 釋出,騰訊開源的手遊熱更新解決方案

類別: IT
xLua

新增特性

  1. Nullable的支援

  2. 支援Assembly-CSharp之外的dll注入(beta)

  3. 執行xlua.hotfix,會自動讓該類private能訪問

  4. xlua.private_accessible優化:1、會把基類的也設定能私有訪問;2、延遲到第一次訪問類才私有化

  5. 新增xlua.util.state,可為一個c#物件新增狀態

  6. this[string field]或者this[object field]操作符過載新增get_Item和set_Item呼叫

  7. 正在編譯時注入列印error資訊

  8. interface配置到CSharpCallLua時的事件跟索引對映的自動實現

  9. unity5.5以上去掉WARNING: The runtime version supported by this application is unavailable列印

變更

  1. 去除Stateful方式(因為xlua.util.state已經可以達成類似的效果)

  2. 廢棄掉內嵌模式模式

bug修復

  1. 生成程式碼區域性變數加下劃線,防止符號衝突

  2. 如果類沒放到Hotfix列表,不生成base呼叫代理

  3. 程式碼重構,可讀性優化

  4. 解決帶params byte[]可能會導致生成程式碼編譯錯誤的問題

  5. 解決類含有private event的時候,無法xlua.private_accessible的問題

  6. 建構函式注入,如果branch外緊跟Ret指令,注入邏輯應該在branch以及Ret之間

  7. 建構函式注入,如果注入指令後導致跳轉範圍大於一個位元組,應修改為長跳轉

  8. 解決一個delegate如果不是某個類的內嵌型別時,CS.namespace.classname為空的問題

  9. 防止Editor下的Util類名字衝突

  10. 泛型override有異常,先過濾掉

  11. 解決空enum導致生成程式碼編譯錯誤

  12. 解決uwp平臺下il2cpp方式打包無法訪問任何類的問題

  13. hotfix一個私有型別的params引數的函式,導致生成程式碼編譯錯誤、注入失敗的問題

  14. 如果兩個LuaBase指向的是同一個Lua物件,GetHashCode應該返回的是同一個值

  15. [Out]標記引數生成程式碼編譯失敗

  16. 交錯陣列+多維陣列的複合,生成程式碼報錯的問題

下載地址:

  • xlua_v2.1.12.zip

  • xlua_v2.1.12_example.zip

  • xlua_v2.1.12_general.zip

  • xlua_v2.1.12_luajit.zip

  • xlua_v2.1.12_tutorial.zip

xLua 2.1.12 釋出,騰訊開源的手遊熱更新解決方案原文請看這裡