diff --git a/Barotrauma/BarotraumaShared/Lua/LuaUserData.lua b/Barotrauma/BarotraumaShared/Lua/LuaUserData.lua index 756f9967c..b8f574f4d 100644 --- a/Barotrauma/BarotraumaShared/Lua/LuaUserData.lua +++ b/Barotrauma/BarotraumaShared/Lua/LuaUserData.lua @@ -9,6 +9,7 @@ luaUserData.UnregisterType = clrLuaUserData.UnregisterType luaUserData.RegisterGenericType = clrLuaUserData.RegisterGenericType luaUserData.UnregisterGenericType = clrLuaUserData.UnregisterGenericType luaUserData.IsTargetType = clrLuaUserData.IsTargetType +luaUserData.TypeOf = clrLuaUserData.TypeOf luaUserData.GetType = clrLuaUserData.GetType luaUserData.CreateEnumTable = clrLuaUserData.CreateEnumTable luaUserData.MakeFieldAccessible = clrLuaUserData.MakeFieldAccessible diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaUserData.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaUserData.cs index 4c883d217..960b83f2b 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaUserData.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaUserData.cs @@ -88,6 +88,13 @@ namespace Barotrauma return type == targetType; } + public static string TypeOf(object obj) + { + if (obj == null) { throw new ScriptRuntimeException("userdata is nil"); } + + return obj.GetType().FullName; + } + public static object CreateStatic(string typeName) { Type type = GetType(typeName);