2023-03-18 13:30:22 -04:00

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);
}
}