AddCallMetaTable for sub userdatas

This commit is contained in:
Evil Factory
2022-04-23 12:42:19 -03:00
parent 910118303a
commit fe3d17d1d9
2 changed files with 17 additions and 11 deletions
@@ -10,21 +10,25 @@ LuaSetup.RegisterBarotrauma = function(typeName)
return LuaSetup.Register("Barotrauma." .. typeName)
end
LuaSetup.AddCallMetaTable = function (userdata)
debug.setmetatable(userdata, {
__call = function(obj, ...)
local success, result = pcall(userdata.__new, ...)
if not success then
error(result, 2)
end
return result
end
})
end
LuaSetup.CreateStatic = function(typeName, addCallMethod)
local staticUserdata = LuaUserData.CreateStatic(typeName)
if addCallMethod then
debug.setmetatable(staticUserdata, {
__call = function(obj, ...)
local success, result = pcall(staticUserdata.__new, ...)
if not success then
error(result, 2)
end
return result
end
})
LuaSetup.AddCallMetaTable(staticUserdata)
end
return staticUserdata