diff --git a/osu.Game/Screens/Play/Player.cs b/osu.Game/Screens/Play/Player.cs index 47945c0a1b..36ab1ab946 100644 --- a/osu.Game/Screens/Play/Player.cs +++ b/osu.Game/Screens/Play/Player.cs @@ -308,25 +308,24 @@ namespace osu.Game.Screens.Play protected override bool OnExiting(Screen next) { - if (pauseOverlay == null) return false; - - if (HitRenderer.HasReplayLoaded) - return false; - - if (pauseOverlay.State != Visibility.Visible && !canPause) return true; - - if (!IsPaused && sourceClock.IsRunning) // For if the user presses escape quickly when entering the map + if (pauseOverlay != null && !HitRenderer.HasReplayLoaded) { - Pause(); - return true; - } - else - { - FadeOut(250); - Content.ScaleTo(0.7f, 750, EasingTypes.InQuint); - Background?.FadeTo(1f, 200); - return base.OnExiting(next); + //pause screen override logic. + if (pauseOverlay?.State == Visibility.Hidden && !canPause) return true; + + if (!IsPaused && sourceClock.IsRunning) // For if the user presses escape quickly when entering the map + { + Pause(); + return true; + } } + + HitRenderer?.FadeOut(60); + + FadeOut(250); + Content.ScaleTo(0.7f, 750, EasingTypes.InQuint); + Background?.FadeTo(1f, 200); + return base.OnExiting(next); } private Bindable mouseWheelDisabled;