mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
using HarmonyLib;
|
|
|
|
namespace NewHorizons.Patches.EyeScenePatches
|
|
{
|
|
[HarmonyPatch(typeof(LoadManager))]
|
|
public static class LoadManagerPatches
|
|
{
|
|
private static void OnLoadScene(OWScene scene)
|
|
{
|
|
if (scene == OWScene.SolarSystem && !Main.Instance.IsWarpingBackToEye)
|
|
{
|
|
PlayerData.SaveEyeCompletion();
|
|
|
|
// Switch to default just in case another mod warps back.
|
|
if (Main.Instance.CurrentStarSystem == "EyeOfTheUniverse") Main.Instance.CurrentStarSystem = Main.Instance.DefaultStarSystem;
|
|
}
|
|
// Switch to eye just in case another mod warps there.
|
|
else if (scene == OWScene.EyeOfTheUniverse) Main.Instance.CurrentStarSystem = "EyeOfTheUniverse";
|
|
}
|
|
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(nameof(LoadManager.LoadSceneImmediate))]
|
|
public static void LoadManager_LoadSceneImmediate(OWScene scene) => OnLoadScene(scene);
|
|
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(nameof(LoadManager.StartAsyncSceneLoad))]
|
|
public static void LoadManager_StartAsyncSceneLoad(OWScene scene) => OnLoadScene(scene);
|
|
}
|
|
}
|