Decompiled source of HubCat for Version 130 v0.0.1

HubCat.dll

Decompiled 3 weeks ago
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using RuntimeAssets;
using UnityEngine;
using VoidManager;
using VoidManager.MPModChecks;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyCompany("ModdedAssetLoader")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("0.1.4.0")]
[assembly: AssemblyInformationalVersion("0.1.4+805a3972e1517ede736b1da3d9243a0b3ce558f7")]
[assembly: AssemblyProduct("ModdedAssetLoader")]
[assembly: AssemblyTitle("A basic mod containing asset bundles.")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.1.4.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace Void_Crew_Mod_Sample
{
	public class ModdedAssetLoader
	{
		public static void TryLoadAssetBundlesNextToDll()
		{
			try
			{
				Assembly executingAssembly = Assembly.GetExecutingAssembly();
				string text = ((!string.IsNullOrWhiteSpace(executingAssembly.Location)) ? executingAssembly.Location : new Uri(executingAssembly.CodeBase).LocalPath);
				string directoryName = Path.GetDirectoryName(text);
				if (string.IsNullOrWhiteSpace(directoryName) || !Directory.Exists(directoryName))
				{
					BepinPlugin.Log.LogError((object)("[ModAssetLoader] Could not resolve DLL directory (dllPath='" + text + "')"));
					return;
				}
				BepinPlugin.Log.LogInfo((object)("[ModAssetLoader] Scanning for asset bundle manifests in: " + directoryName));
				int num = 0;
				foreach (string item in Directory.EnumerateFiles(directoryName, "*", SearchOption.TopDirectoryOnly))
				{
					string fileName = Path.GetFileName(item);
					string extension = Path.GetExtension(item);
					if ((!string.IsNullOrEmpty(extension) && !(extension == ".metem")) || !File.Exists(item))
					{
						continue;
					}
					try
					{
						AssetBundle val = AssetBundle.LoadFromFile(item);
						if (Object.op_Implicit((Object)(object)val))
						{
							val.Unload(true);
							RuntimeAssetsAPI.LoadAssetBundle(item);
							num++;
							BepinPlugin.Log.LogInfo((object)("[ModAssetLoader] Loaded asset bundle: " + fileName));
						}
					}
					catch (Exception arg)
					{
						BepinPlugin.Log.LogError((object)$"[ModAssetLoader] Error while probing/loading '{fileName}': {arg}");
					}
				}
				BepinPlugin.Log.LogInfo((object)$"[ModAssetLoader] Loaded {num} asset bundle(s) from manifest pairs.");
			}
			catch (Exception arg2)
			{
				BepinPlugin.Log.LogError((object)$"[ModAssetLoader] Failed loading asset bundles: {arg2}");
			}
		}
	}
	public class MyPluginInfo
	{
		public const string PLUGIN_GUID = "Hutlihut.ModdedAssetLoader";

		public const string PLUGIN_NAME = "ModdedAssetLoader";

		public const string USERS_PLUGIN_NAME = "ModdedAssetLoader";

		public const string PLUGIN_VERSION = "0.1.4";

		public const string PLUGIN_DESCRIPTION = "A basic mod containing asset bundles.";

		public const string PLUGIN_ORIGINAL_AUTHOR = "Hutlihut";

		public const string PLUGIN_AUTHORS = "Hutlihut";

		public const string PLUGIN_THUNDERSTORE_ID = "";
	}
	[BepInPlugin("Hutlihut.ModdedAssetLoader", "ModdedAssetLoader", "0.1.4")]
	[BepInProcess("Void Crew.exe")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class BepinPlugin : BaseUnityPlugin
	{
		internal static ManualLogSource Log;

		private void Awake()
		{
			Log = ((BaseUnityPlugin)this).Logger;
			Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), (string)null);
			ModdedAssetLoader.TryLoadAssetBundlesNextToDll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin Hutlihut.ModdedAssetLoader is loaded!");
		}
	}
	public class VoidManagerPlugin : VoidPlugin
	{
		public override MultiplayerType MPType => (MultiplayerType)30;

		public override string Author => "Hutlihut";

		public override string Description => "A basic mod containing asset bundles.";

		public override string ThunderstoreID => "";
	}
}