Scene stuff

This commit is contained in:
Noah Pilarski 2022-09-03 21:05:30 -04:00
parent da6c7b79a1
commit fda39ad79e

View File

@ -13,24 +13,26 @@ namespace NewHorizons.Patches
return Main.Instance.CurrentStarSystem != "EyeOfTheUniverse" || deathType == DeathType.BigBang; 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) if (scene == OWScene.SolarSystem)
{ {
PlayerData.SaveEyeCompletion(); PlayerData.SaveEyeCompletion();
// Switch to default just in case another mod warps back.
if (Main.Instance.CurrentStarSystem == "EyeOfTheUniverse") Main.Instance._currentStarSystem = Main.Instance.DefaultStarSystem; 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] [HarmonyPrefix]
[HarmonyPatch(typeof(LoadManager), nameof(LoadManager.LoadSceneImmediate))] [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] [HarmonyPrefix]
[HarmonyPatch(typeof(LoadManager), nameof(LoadManager.StartAsyncSceneLoad))] [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] [HarmonyPrefix]
[HarmonyPatch(typeof(SubmitActionLoadScene), nameof(SubmitActionLoadScene.ConfirmSubmit))] [HarmonyPatch(typeof(SubmitActionLoadScene), nameof(SubmitActionLoadScene.ConfirmSubmit))]