From e3d4fd015ced56b40c68725a62c3b80ace6afb98 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Fri, 26 Aug 2022 01:39:31 -0400 Subject: [PATCH] Switch to default if at eye going to solar system --- NewHorizons/Patches/EyeOfTheUniversePatches.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/NewHorizons/Patches/EyeOfTheUniversePatches.cs b/NewHorizons/Patches/EyeOfTheUniversePatches.cs index 00bb84d2..589c2432 100644 --- a/NewHorizons/Patches/EyeOfTheUniversePatches.cs +++ b/NewHorizons/Patches/EyeOfTheUniversePatches.cs @@ -13,13 +13,26 @@ namespace NewHorizons.Patches return (Main.Instance.CurrentStarSystem != "EyeOfTheUniverse"); } + private static void SwitchToDefaultIfAtEyeGoingToSS(OWScene scene) + { + if (Main.Instance.CurrentStarSystem == "EyeOfTheUniverse" && scene == OWScene.SolarSystem) Main.Instance._currentStarSystem = Main.Instance.DefaultStarSystem; + } + + [HarmonyPrefix] + [HarmonyPatch(typeof(LoadManager), nameof(LoadManager.LoadSceneImmediate))] + public static void LoadManager_LoadSceneImmediate(OWScene scene) => SwitchToDefaultIfAtEyeGoingToSS(scene); + + [HarmonyPrefix] + [HarmonyPatch(typeof(LoadManager), nameof(LoadManager.StartAsyncSceneLoad))] + public static void LoadManager_StartAsyncSceneLoad(OWScene scene) => SwitchToDefaultIfAtEyeGoingToSS(scene); + [HarmonyPrefix] [HarmonyPatch(typeof(SubmitActionLoadScene), nameof(SubmitActionLoadScene.ConfirmSubmit))] public static void SubmitActionLoadScene_ConfirmSubmit(SubmitActionLoadScene __instance) { if (__instance._sceneToLoad == SubmitActionLoadScene.LoadableScenes.EYE) Main.Instance._currentStarSystem = "EyeOfTheUniverse"; } - + [HarmonyPrefix] [HarmonyPatch(typeof(ShipThrusterController), nameof(ShipThrusterController.ReadTranslationalInput))] public static bool ShipThrusterController_ReadTranslationalInput(ShipThrusterController __instance, ref Vector3 __result)