【Unity】XLua巨坑彙總

兩水先木示發表於2020-11-17

一、擴充方法未生效問題

最近在使用GameFramework框架,並且接入了xlua,在xlua的一開始Init.lua 我使用如下程式碼獲取了一個全域性類宣告 

GameEntry = CS.StarForce.GameEntry    注意:Init.lua是遊戲啟動Lua時最先執行的lua檔案用於require其他lua檔案的

接著我在各種UI使用它,遇到了無論我怎麼檢查都已經引入所有型別到Lua了(即LuaCallCSharp列表裡),在我使用如下程式碼報錯。

GameEntry.Sound:IsMuted("Music")

C#側 ,這個方法是一個SoundExtension靜態類的擴充套件方法!

我也試過使用如下程式碼進行嘗試,出現一毛一樣的報錯!

GameEntry.Sound.IsMuted("Music")

解決方法 改為 CS.StarForce.GameEntry.GameEntry.Sound:IsMuted("Music") 即可,原因可能是我獲取到的GameEntry的相關擴充方法還未生效。

相關文章