-
Notifications
You must be signed in to change notification settings - Fork 1
/
AccessRandomizer.cs
59 lines (54 loc) · 2.08 KB
/
AccessRandomizer.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using AccessRandomizer.Interop;
using AccessRandomizer.Manager;
using AccessRandomizer.Settings;
using Modding;
using System;
namespace AccessRandomizer
{
public class AccessRandomizer : Mod, IGlobalSettings<AccessSettings>
{
new public string GetName() => "AccessRandomizer";
public override string GetVersion() => "1.2.4.1";
private static AccessRandomizer _instance;
public AccessRandomizer() : base()
{
_instance = this;
}
internal static AccessRandomizer Instance
{
get
{
if (_instance == null)
{
throw new InvalidOperationException($"{nameof(AccessRandomizer)} was never initialized");
}
return _instance;
}
}
public AccessSettings GS { get; internal set; } = new();
public override void Initialize()
{
// Ignore completely if Randomizer 4 is inactive
if (ModHooks.GetMod("Randomizer 4") is Mod)
{
Instance.Log("Initializing...");
AccessManager.Hook();
if (ModHooks.GetMod("RandoSettingsManager") is Mod)
RSM_Interop.Hook();
if (ModHooks.GetMod("FStatsMod") is Mod)
FStats_Interop.Hook();
CondensedSpoilerLogger.AddCategory("Miscellaneous Access", () => AccessManager.Settings.Enabled,
[
"Mapper_Key", "Mantis_Respect", "Graveyard_Key", "Waterways_Key", "Pleasure_Key",
"Coffin_Key", "Glade_Key", "Hollow_Knight_Chain",
"Left_Elevator_Pass", "Right_Elevator_Pass",
"Upper_Tram_Pass", "Lower_Tram_Pass", "Trap_Bench"
]
);
Instance.Log("Initialized.");
}
}
public void OnLoadGlobal(AccessSettings s) => GS = s;
public AccessSettings OnSaveGlobal() => GS;
}
}