From fda39ad79e293ee6b833ca1b5f48b990d097a363 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Sat, 3 Sep 2022 21:05:30 -0400 Subject: [PATCH] Scene stuff --- NewHorizons/Patches/EyeOfTheUniversePatches.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/NewHorizons/Patches/EyeOfTheUniversePatches.cs b/NewHorizons/Patches/EyeOfTheUniversePatches.cs index 9cea63ba..a8c8aed4 100644 --- a/NewHorizons/Patches/EyeOfTheUniversePatches.cs +++ b/NewHorizons/Patches/EyeOfTheUniversePatches.cs @@ -13,24 +13,26 @@ namespace NewHorizons.Patches return Main.Instance.CurrentStarSystem != "EyeOfTheUniverse" || deathType == DeathType.BigBang; } - private static void SwitchToDefaultIfAtEyeGoingToSS(OWScene scene) + private static void OnLoadScene(OWScene scene) { - // Switch to default just in case another mod warps back. if (scene == OWScene.SolarSystem) { 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(typeof(LoadManager), nameof(LoadManager.LoadSceneImmediate))] - public static void LoadManager_LoadSceneImmediate(OWScene scene) => SwitchToDefaultIfAtEyeGoingToSS(scene); + public static void LoadManager_LoadSceneImmediate(OWScene scene) => OnLoadScene(scene); [HarmonyPrefix] [HarmonyPatch(typeof(LoadManager), nameof(LoadManager.StartAsyncSceneLoad))] - public static void LoadManager_StartAsyncSceneLoad(OWScene scene) => SwitchToDefaultIfAtEyeGoingToSS(scene); + public static void LoadManager_StartAsyncSceneLoad(OWScene scene) => OnLoadScene(scene); [HarmonyPrefix] [HarmonyPatch(typeof(SubmitActionLoadScene), nameof(SubmitActionLoadScene.ConfirmSubmit))]