55 lines
1.6 KiB
C#
55 lines
1.6 KiB
C#
|
using BepInEx;
|
|||
|
using BepInEx.Bootstrap;
|
|||
|
using BepInEx.Logging;
|
|||
|
using HarmonyLib;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace ScarletMansionSeichiPatch {
|
|||
|
|
|||
|
[BepInPlugin(modGUID, modName, modVersion)]
|
|||
|
[BepInDependency(targetModGUID, BepInDependency.DependencyFlags.SoftDependency)]
|
|||
|
|
|||
|
public class Plugin : BaseUnityPlugin {
|
|||
|
|
|||
|
public const string modGUID = "dev.ladyalice.scarletmansion.seichipatch";
|
|||
|
private const string modName = "Scarlet Mansion Seichi Patch";
|
|||
|
private const string modVersion = "1.0.0";
|
|||
|
|
|||
|
public const string targetModGUID = "dev.ladyalice.scarletmansion";
|
|||
|
public const string targetModVersion = "1.3.27";
|
|||
|
|
|||
|
public readonly Harmony harmony = new Harmony(modGUID);
|
|||
|
public static Plugin Instance {get; private set;}
|
|||
|
public static ManualLogSource logger { get; internal set; }
|
|||
|
|
|||
|
void Awake(){
|
|||
|
if (Instance == null) Instance = this;
|
|||
|
|
|||
|
logger = BepInEx.Logging.Logger.CreateLogSource(modGUID);
|
|||
|
|
|||
|
var modLoaded = Chainloader.PluginInfos.ContainsKey(targetModGUID);
|
|||
|
if (!modLoaded) return;
|
|||
|
|
|||
|
bool validVersion;
|
|||
|
var pluginInfo = Chainloader.PluginInfos[targetModGUID];
|
|||
|
var loadedVersion = pluginInfo.Metadata.Version;
|
|||
|
if (string.IsNullOrWhiteSpace(targetModVersion)){
|
|||
|
validVersion = true;
|
|||
|
} else {
|
|||
|
var requiredVersion = new Version(targetModVersion);
|
|||
|
validVersion = loadedVersion >= requiredVersion;
|
|||
|
}
|
|||
|
|
|||
|
if (validVersion){
|
|||
|
logger.LogInfo($"Plugin {modName} has been added!");
|
|||
|
Patch.Activate();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|