Only carry over seconds remaining when enableTimeLoop

This commit is contained in:
Nick 2022-05-13 17:19:26 -04:00
parent 0bf7b694e6
commit b0e93ab8e9

View File

@ -433,7 +433,6 @@ namespace NewHorizons
Logger.Log($"Warping to {newStarSystem}"); Logger.Log($"Warping to {newStarSystem}");
if (warp && _shipWarpController) _shipWarpController.WarpOut(); if (warp && _shipWarpController) _shipWarpController.WarpOut();
_currentStarSystem = newStarSystem;
_isChangingStarSystem = true; _isChangingStarSystem = true;
IsWarping = warp; IsWarping = warp;
WearingSuit = PlayerState.IsWearingSuit(); WearingSuit = PlayerState.IsWearingSuit();
@ -441,16 +440,24 @@ namespace NewHorizons
// We kill them so they don't move as much // We kill them so they don't move as much
Locator.GetDeathManager().KillPlayer(DeathType.Meditation); Locator.GetDeathManager().KillPlayer(DeathType.Meditation);
OWScene sceneToLoad;
if (newStarSystem == "EyeOfTheUniverse") if (newStarSystem == "EyeOfTheUniverse")
{ {
PlayerData.SaveWarpedToTheEye(TimeLoop.GetSecondsRemaining()); PlayerData.SaveWarpedToTheEye(TimeLoop.GetSecondsRemaining());
LoadManager.LoadSceneAsync(OWScene.EyeOfTheUniverse, true, LoadManager.FadeType.ToBlack, 0.1f, true); sceneToLoad = OWScene.EyeOfTheUniverse;
} }
else else
{ {
SecondsLeftInLoop = TimeLoop.GetSecondsRemaining(); if (SystemDict[_currentStarSystem].Config.enableTimeLoop) SecondsLeftInLoop = TimeLoop.GetSecondsRemaining();
LoadManager.LoadSceneAsync(OWScene.SolarSystem, true, LoadManager.FadeType.ToBlack, 0.1f, true); else SecondsLeftInLoop = -1;
sceneToLoad = OWScene.SolarSystem;
} }
_currentStarSystem = newStarSystem;
LoadManager.LoadSceneAsync(sceneToLoad, true, LoadManager.FadeType.ToBlack, 0.1f, true);
} }
void OnDeath(DeathType _) void OnDeath(DeathType _)