30 lines
978 B
C#
30 lines
978 B
C#
using System.IO;
|
|
using AssetsTools.NET.Extra;
|
|
using NitroxModel.Helper;
|
|
using NitroxServer_Subnautica.Resources.Parsers.Helper;
|
|
|
|
namespace NitroxServer_Subnautica.Resources.Parsers;
|
|
|
|
public abstract class AssetParser
|
|
{
|
|
protected static readonly string rootPath;
|
|
protected static readonly AssetsManager assetsManager;
|
|
|
|
private static readonly ThreadSafeMonoCecilTempGenerator monoGen;
|
|
|
|
static AssetParser()
|
|
{
|
|
rootPath = ResourceAssetsParser.FindDirectoryContainingResourceAssets();
|
|
assetsManager = new AssetsManager();
|
|
assetsManager.LoadClassPackage(Path.Combine(NitroxUser.AssetsPath, "Resources", "classdata.tpk"));
|
|
assetsManager.LoadClassDatabaseFromPackage("2019.4.36f1");
|
|
assetsManager.SetMonoTempGenerator(monoGen = new ThreadSafeMonoCecilTempGenerator(Path.Combine(rootPath, "Managed")));
|
|
}
|
|
|
|
public static void Dispose()
|
|
{
|
|
assetsManager.UnloadAll(true);
|
|
monoGen.Dispose();
|
|
}
|
|
}
|