Re-enabled the lua type filter again
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
if CSActive then
|
||||
return
|
||||
end
|
||||
|
||||
local function IsAllowed(typeName)
|
||||
if string.startsWith(typeName, "Barotrauma.Lua") or string.startsWith(typeName, "Barotrauma.Cs") or string.startsWith(typeName, "Barotrauma.LuaCs") then
|
||||
return false
|
||||
end
|
||||
|
||||
if string.startsWith(typeName, "System.Collections") then return true end
|
||||
|
||||
if string.startsWith(typeName, "Microsoft.Xna") then return true end
|
||||
|
||||
if string.startsWith(typeName, "Barotrauma.IO") then return false end
|
||||
|
||||
if string.startsWith(typeName, "Barotrauma.ToolBox") then return false end
|
||||
if string.startsWith(typeName, "Barotrauma.SaveUtil") then return false end
|
||||
|
||||
if string.startsWith(typeName, "Barotrauma.") then return true end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
local originalRegisterType = LuaUserData.RegisterType
|
||||
LuaUserData.RegisterType = function (typeName)
|
||||
if not IsAllowed(typeName) then
|
||||
error("Couldn't register type " .. typeName .. ".", 2)
|
||||
end
|
||||
|
||||
local success, result = pcall(originalRegisterType, typeName)
|
||||
|
||||
if not success then
|
||||
error(result, 2)
|
||||
end
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
local originalCreateStatic = LuaUserData.CreateStatic
|
||||
LuaUserData.CreateStatic = function (typeName, addCallMethod)
|
||||
if not IsAllowed(typeName) then
|
||||
error("Couldn't register type " .. typeName .. ".", 2)
|
||||
end
|
||||
|
||||
local success, result = pcall(originalCreateStatic, typeName, addCallMethod)
|
||||
|
||||
if not success then
|
||||
error(result, 2)
|
||||
end
|
||||
|
||||
return result
|
||||
end
|
||||
Reference in New Issue
Block a user