diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsModStore.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsModStore.cs index bce1dd3b1..d539cb5e1 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsModStore.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsModStore.cs @@ -97,12 +97,16 @@ namespace Barotrauma public CsModStore GetCsStore(string modName) { var result = csModInterface.Where(i => i.Mod.GetType().FullName == modName).FirstOrDefault(); - if (!result.Mod.IsDisposed) return result; - else + if (result != null) { - csModInterface.Remove(result); - return null; + if (!result.Mod.IsDisposed) return result; + else + { + csModInterface.Remove(result); + return null; + } } + else return null; } protected LuaModStore GetLuaStore(string modName) => luaModInterface.Where(i => i.Name == modName).FirstOrDefault(); } diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsSetup.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsSetup.cs index 6f49c109a..c25c4fa46 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsSetup.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsSetup.cs @@ -30,7 +30,7 @@ namespace Barotrauma public LuaCsNetworking Networking { get; private set; } public LuaCsModStore ModStore { get; private set; } - public CsScriptLoader NetScriptLoader { get; private set; } + public CsScriptLoader CsScriptLoader { get; private set; } public CsLua Lua { get; private set; } public LuaCsSetup() @@ -315,6 +315,9 @@ namespace Barotrauma Hook.Initialize(); ModStore.Initialize(); + UserData.RegisterType(); + UserData.RegisterType(); + UserData.RegisterType(); UserData.RegisterType(); UserData.RegisterType(); UserData.RegisterType(); @@ -356,18 +359,21 @@ namespace Barotrauma // LuaDocs.GenerateDocsAll(); - ContentPackage csPackage = GetPackage("CsForBarotrauma"); + //ContentPackage csPackage = GetPackage("CsForBarotrauma"); - if (csPackage != null) - { - NetScriptLoader = new CsScriptLoader(this); + //if (csPackage != null) + //{ + CsScriptLoader = new CsScriptLoader(this); - NetScriptLoader.SearchFolders(); + CsScriptLoader.SearchFolders(); try { - var modTypes = NetScriptLoader.Compile(); - modTypes.ForEach(t => t.GetConstructor(new Type[] { })?.Invoke(null)); + var modTypes = CsScriptLoader.Compile(); + modTypes.ForEach(t => { + UserData.RegisterType(t); + t.GetConstructor(new Type[] { })?.Invoke(null); + }); } catch (Exception ex) { @@ -375,7 +381,7 @@ namespace Barotrauma } PrintMessage("Cs! Version " + AssemblyInfo.GitRevision); - } + //} ContentPackage luaPackage = GetPackage("LuaForBarotraumaUnstable");