48 lines
1.2 KiB
C#
48 lines
1.2 KiB
C#
using BepInEx;
|
|
using BepInEx.Logging;
|
|
using HarmonyLib;
|
|
using LobbyCompatibility.Attributes;
|
|
using LobbyCompatibility.Enums;
|
|
|
|
namespace MyFirstMod;
|
|
|
|
[BepInPlugin(MyPluginInfo.PLUGIN_GUID, MyPluginInfo.PLUGIN_NAME, MyPluginInfo.PLUGIN_VERSION)]
|
|
[BepInDependency("BMX.LobbyCompatibility", BepInDependency.DependencyFlags.HardDependency)]
|
|
[LobbyCompatibility(CompatibilityLevel.ClientOnly, VersionStrictness.None)]
|
|
public class MyFirstMod : BaseUnityPlugin
|
|
{
|
|
public static MyFirstMod Instance { get; private set; } = null!;
|
|
internal new static ManualLogSource Logger { get; private set; } = null!;
|
|
internal static Harmony? Harmony { get; set; }
|
|
|
|
private void Awake()
|
|
{
|
|
Logger = base.Logger;
|
|
Instance = this;
|
|
|
|
Patch();
|
|
|
|
Logger.LogInfo($"{MyPluginInfo.PLUGIN_GUID} v{MyPluginInfo.PLUGIN_VERSION} has loaded!");
|
|
}
|
|
|
|
internal static void Patch()
|
|
{
|
|
Harmony ??= new Harmony(MyPluginInfo.PLUGIN_GUID);
|
|
|
|
Logger.LogDebug("Patching...");
|
|
|
|
Harmony.PatchAll();
|
|
|
|
Logger.LogDebug("Finished patching!");
|
|
}
|
|
|
|
internal static void Unpatch()
|
|
{
|
|
Logger.LogDebug("Unpatching...");
|
|
|
|
Harmony?.UnpatchSelf();
|
|
|
|
Logger.LogDebug("Finished unpatching!");
|
|
}
|
|
}
|