From 9e957a75b005f96006475d4562b3c43deaf4de34 Mon Sep 17 00:00:00 2001 From: Evil Factory <36804725+evilfactory@users.noreply.github.com> Date: Mon, 2 Feb 2026 21:30:06 -0300 Subject: [PATCH] Update MoonSharp --- .../LuaCs/Lua/LuaClasses/LuaSafeUserData.cs | 2 + .../LuaCs/Lua/LuaClasses/LuaUserData.cs | 38 +------------------ Libraries/moonsharp | 2 +- 3 files changed, 5 insertions(+), 37 deletions(-) diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaSafeUserData.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaSafeUserData.cs index 1eaf09563..e4d91d5c1 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaSafeUserData.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaSafeUserData.cs @@ -183,6 +183,8 @@ namespace Barotrauma return LuaUserData.HasMember(obj, memberName); } + public static void AddCallMetaTable(object userdata) { } + public static DynValue CreateUserDataFromDescriptor(DynValue scriptObject, IUserDataDescriptor desiredTypeDescriptor) { return LuaUserData.CreateUserDataFromDescriptor(scriptObject, desiredTypeDescriptor); diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaUserData.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaUserData.cs index fd336066f..959ee31a9 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaUserData.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaUserData.cs @@ -121,7 +121,7 @@ namespace Barotrauma MethodInfo method = typeof(UserData).GetMethod(nameof(UserData.CreateStatic), 1, new Type[0]); MethodInfo generic = method.MakeGenericMethod(type); var result = generic.Invoke(null, null); - AddCallMetaTable(result); + return result; } @@ -380,41 +380,7 @@ namespace Barotrauma return CreateUserDataFromDescriptor(scriptObject, descriptor); } - public static void AddCallMetaTable(object userdata) - { - if (userdata == null) { return; } - - // not sure how to implement this in C# - var function = GameMain.LuaCs.Lua.LoadString(""" - local userdata = ... - if userdata == nil then - error("Attempted to add a call metatable to a nil value.", 2) - end - - if not LuaUserData.HasMember(userdata, ".ctor") then - return - end - - debug.setmetatable(userdata, { - __call = function(obj, ...) - if userdata == nil then - error("userdata was nil.", 2) - end - - local success, result = pcall(userdata.__new, ...) - - - if not success then - error(result, 2) - end - - return result - end - }) - """); - - GameMain.LuaCs.Lua.Call(function, userdata); - } + public static void AddCallMetaTable(object userdata) { } public static void Clear() diff --git a/Libraries/moonsharp b/Libraries/moonsharp index f67e9ee5a..e3c2270e8 160000 --- a/Libraries/moonsharp +++ b/Libraries/moonsharp @@ -1 +1 @@ -Subproject commit f67e9ee5a315ad0c1ba60199488df37f5ef09cf2 +Subproject commit e3c2270e8277de98b0ec2b42b42909e6e6c8afd9