
因为这里有个这样的需求, 我在写一个lua工具脚本,
传进来的可以是lua的table 也可以是cs的对象
尝试跟了一下代码 发现在translator.FastGetCSObj(L, 1)方法里面的LuaAPI.xlua_tocsobj_fast(L,index)返回-1了
这是能重现这个bug的示例
local testLuaObjBase = {}
testLuaObjBase.Value = nil
function testLuaObjBase:__index(key)
return self.Value[key]
end
local testLuaObj = setmetatable({}, testLuaObjBase)
local tmp = {}
function tmp:Func(name)
print("func>>>>>>>>>>>>>>>>>>>>", name)
end
testLuaObj.Value = tmp
testLuaObj:Func("TestLuaCall")
testLuaObj.Value = CS.UnityEngine.GameObject.Find("Game")
print(testLuaObj.SetActive)
testLuaObj:SetActive(false)
因为这里有个这样的需求, 我在写一个lua工具脚本,
传进来的可以是lua的table 也可以是cs的对象
尝试跟了一下代码 发现在
translator.FastGetCSObj(L, 1)方法里面的LuaAPI.xlua_tocsobj_fast(L,index)返回-1了这是能重现这个bug的示例