Switch to default if at eye going to solar system

This commit is contained in:
Noah Pilarski 2022-08-26 01:39:31 -04:00
parent 094fc397e4
commit e3d4fd015c

View File

@ -13,6 +13,19 @@ namespace NewHorizons.Patches
return (Main.Instance.CurrentStarSystem != "EyeOfTheUniverse"); 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] [HarmonyPrefix]
[HarmonyPatch(typeof(SubmitActionLoadScene), nameof(SubmitActionLoadScene.ConfirmSubmit))] [HarmonyPatch(typeof(SubmitActionLoadScene), nameof(SubmitActionLoadScene.ConfirmSubmit))]
public static void SubmitActionLoadScene_ConfirmSubmit(SubmitActionLoadScene __instance) public static void SubmitActionLoadScene_ConfirmSubmit(SubmitActionLoadScene __instance)