使用委托來獲取xlua中的function是不行的
報(bào)錯(cuò)腳本示范
// [CSharpCallLua]
// public delegate void LuaBtnEvent(int index);
//[CSharpCallLua]
// public static LuaBtnEvent BtnEvent;//被LuaModer引用
// ButtonEvent.BtnEvent=luaEnv.Global.Get<ButtonEvent.LuaBtnEvent>("PlotEventBar");
即使全部接口打好標(biāo)簽并且在編輯器中把兼容等級改為4.X 打包出去還是會出問題
建議在lua腳本中建立一個(gè)空的table
再把方法塞進(jìn)去
比如
main={}
function PlotEventBar(ID)
if ID<11 then
if ID==2 then
ChangeValue("HP",10)
end
if ID==3 then
if EffectFind("一個(gè)測試狀態(tài)+") then
Effect("超強(qiáng)的測試狀態(tài)")
else
Effect("一個(gè)測試狀態(tài)",true)
end
end
if ID==4 then
Move("Up",1)
end
end
end
main.PlotEventBar=PlotEventBar
然后在c#端文章來源:http://www.zghlxwxcb.cn/news/detail-650681.html
if (PlotEvent.Plots[index].Specail)
{
LuaModer.luaEnv.DoString($"main.PlotEventBar({index})");
}
就可以正常運(yùn)作這個(gè)方法了文章來源地址http://www.zghlxwxcb.cn/news/detail-650681.html
到了這里,關(guān)于關(guān)于Unity在Xlua調(diào)用Lua腳本函數(shù)時(shí)報(bào)錯(cuò)This type must add to CSharpCallLua 解決辦法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!