fixes and custom serialization

This commit is contained in:
Oiltanker
2022-04-18 15:40:50 +03:00
parent 8bcd19a4ff
commit 767ff55604
2 changed files with 23 additions and 13 deletions

View File

@@ -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();
}

View File

@@ -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<LuaCsAction>();
UserData.RegisterType<LuaCsFile>();
UserData.RegisterType<LuaCsPatch>();
UserData.RegisterType<CsScriptRunner>();
UserData.RegisterType<LuaGame>();
UserData.RegisterType<LuaCsTimer>();
@@ -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");