Update moonsharp and move extension methods to register Lua file
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
local Register = LuaSetup.LuaUserData.RegisterType
|
local Register = LuaSetup.LuaUserData.RegisterType
|
||||||
|
local RegisterExtension = LuaSetup.LuaUserData.RegisterExtensionType
|
||||||
local RegisterBarotrauma = LuaSetup.LuaUserData.RegisterTypeBarotrauma
|
local RegisterBarotrauma = LuaSetup.LuaUserData.RegisterTypeBarotrauma
|
||||||
|
|
||||||
Register("System.TimeSpan")
|
Register("System.TimeSpan")
|
||||||
@@ -471,3 +472,6 @@ LuaUserData.RemoveMember(workshopItem, "RemoveFavorite")
|
|||||||
LuaUserData.RemoveMember(workshopItem, "Vote")
|
LuaUserData.RemoveMember(workshopItem, "Vote")
|
||||||
LuaUserData.RemoveMember(workshopItem, "GetUserVote")
|
LuaUserData.RemoveMember(workshopItem, "GetUserVote")
|
||||||
LuaUserData.RemoveMember(workshopItem, "Edit")
|
LuaUserData.RemoveMember(workshopItem, "Edit")
|
||||||
|
|
||||||
|
RegisterExtension("Barotrauma.MathUtils")
|
||||||
|
RegisterExtension("Barotrauma.XMLExtensions")
|
||||||
@@ -8,6 +8,7 @@ LuaSetup.LuaUserData = luaUserData
|
|||||||
luaUserData.IsRegistered = clrLuaUserData.IsRegistered
|
luaUserData.IsRegistered = clrLuaUserData.IsRegistered
|
||||||
luaUserData.UnregisterType = clrLuaUserData.UnregisterType
|
luaUserData.UnregisterType = clrLuaUserData.UnregisterType
|
||||||
luaUserData.RegisterGenericType = clrLuaUserData.RegisterGenericType
|
luaUserData.RegisterGenericType = clrLuaUserData.RegisterGenericType
|
||||||
|
luaUserData.RegisterExtensionType = clrLuaUserData.RegisterExtensionType
|
||||||
luaUserData.UnregisterGenericType = clrLuaUserData.UnregisterGenericType
|
luaUserData.UnregisterGenericType = clrLuaUserData.UnregisterGenericType
|
||||||
luaUserData.IsTargetType = clrLuaUserData.IsTargetType
|
luaUserData.IsTargetType = clrLuaUserData.IsTargetType
|
||||||
luaUserData.TypeOf = clrLuaUserData.TypeOf
|
luaUserData.TypeOf = clrLuaUserData.TypeOf
|
||||||
|
|||||||
@@ -44,6 +44,21 @@ LuaUserData.RegisterType = function (typeName)
|
|||||||
return result
|
return result
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local originalRegisterGenericType = LuaUserData.RegisterType
|
||||||
|
LuaUserData.RegisterGenericType = function (typeName, ...)
|
||||||
|
if not (CanBeReRegistered(typeName) and LuaUserData.IsRegistered(typeName)) and not IsAllowed(typeName) then
|
||||||
|
error("Couldn't register generic type " .. typeName .. ".", 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
local success, result = pcall(originalRegisterGenericType, typeName, ...)
|
||||||
|
|
||||||
|
if not success then
|
||||||
|
error(result, 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
return result
|
||||||
|
end
|
||||||
|
|
||||||
local originalCreateStatic = LuaUserData.CreateStatic
|
local originalCreateStatic = LuaUserData.CreateStatic
|
||||||
LuaUserData.CreateStatic = function (typeName, addCallMethod)
|
LuaUserData.CreateStatic = function (typeName, addCallMethod)
|
||||||
if not (CanBeReRegistered(typeName) and LuaUserData.IsRegistered(typeName)) and not IsAllowed(typeName) then
|
if not (CanBeReRegistered(typeName) and LuaUserData.IsRegistered(typeName)) and not IsAllowed(typeName) then
|
||||||
|
|||||||
@@ -23,6 +23,18 @@ namespace Barotrauma
|
|||||||
return UserData.RegisterType(type);
|
return UserData.RegisterType(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void RegisterExtensionType(string typeName)
|
||||||
|
{
|
||||||
|
Type type = GetType(typeName);
|
||||||
|
|
||||||
|
if (type == null)
|
||||||
|
{
|
||||||
|
throw new ScriptRuntimeException($"tried to register a type that doesn't exist: {typeName}.");
|
||||||
|
}
|
||||||
|
|
||||||
|
UserData.RegisterExtensionType(type);
|
||||||
|
}
|
||||||
|
|
||||||
public static bool IsRegistered(string typeName)
|
public static bool IsRegistered(string typeName)
|
||||||
{
|
{
|
||||||
Type type = GetType(typeName);
|
Type type = GetType(typeName);
|
||||||
|
|||||||
@@ -420,9 +420,6 @@ namespace Barotrauma
|
|||||||
UserData.RegisterType<LuaCsPerformanceCounter>();
|
UserData.RegisterType<LuaCsPerformanceCounter>();
|
||||||
UserData.RegisterType<IUserDataDescriptor>();
|
UserData.RegisterType<IUserDataDescriptor>();
|
||||||
|
|
||||||
UserData.RegisterExtensionType(typeof(MathUtils));
|
|
||||||
UserData.RegisterExtensionType(typeof(XMLExtensions));
|
|
||||||
|
|
||||||
Lua.Globals["printerror"] = (DynValue o) => { LuaCsLogger.LogError(o.ToString(), LuaCsMessageOrigin.LuaMod); };
|
Lua.Globals["printerror"] = (DynValue o) => { LuaCsLogger.LogError(o.ToString(), LuaCsMessageOrigin.LuaMod); };
|
||||||
|
|
||||||
Lua.Globals["setmodulepaths"] = (Action<string[]>)SetModulePaths;
|
Lua.Globals["setmodulepaths"] = (Action<string[]>)SetModulePaths;
|
||||||
|
|||||||
+1
-1
Submodule Libraries/moonsharp updated: 77c43a5993...f67e9ee5a3
Reference in New Issue
Block a user