diff --git a/osu.Game.Modes.Osu/Objects/Drawables/DrawableSlider.cs b/osu.Game.Modes.Osu/Objects/Drawables/DrawableSlider.cs index 745c696fee..907ce8da63 100644 --- a/osu.Game.Modes.Osu/Objects/Drawables/DrawableSlider.cs +++ b/osu.Game.Modes.Osu/Objects/Drawables/DrawableSlider.cs @@ -107,7 +107,7 @@ namespace osu.Game.Modes.Osu.Objects.Drawables if (repeat > currentRepeat) { - if (ball.Tracking) + if (repeat < slider.RepeatCount && ball.Tracking) PlaySample(); currentRepeat = repeat; } diff --git a/osu.Game/Online/API/APIAccess.cs b/osu.Game/Online/API/APIAccess.cs index 71671d09fb..a9e0b2163b 100644 --- a/osu.Game/Online/API/APIAccess.cs +++ b/osu.Game/Online/API/APIAccess.cs @@ -196,7 +196,10 @@ namespace osu.Game.Online.API Logger.Log($@"Performing request {req}", LoggingTarget.Network); req.Perform(this); - State = APIState.Online; + //we could still be in initialisation, at which point we don't want to say we're Online yet. + if (LocalUser.Value != null) + State = APIState.Online; + failureCount = 0; return true; } diff --git a/osu.Game/Screens/Play/Player.cs b/osu.Game/Screens/Play/Player.cs index 23341ec0d4..3d21e9cd40 100644 --- a/osu.Game/Screens/Play/Player.cs +++ b/osu.Game/Screens/Play/Player.cs @@ -240,21 +240,6 @@ namespace osu.Game.Screens.Play }); } - protected override void LoadComplete() - { - base.LoadComplete(); - - Content.Delay(250); - Content.FadeIn(250); - - Delay(750); - Schedule(() => - { - sourceClock.Start(); - initializeSkipButton(); - }); - } - private void onPass() { Delay(1000); @@ -290,6 +275,22 @@ namespace osu.Game.Screens.Play Content.Alpha = 0; dimLevel.ValueChanged += dimChanged; + + Content.Delay(250); + Content.FadeIn(250); + + Delay(750); + Schedule(() => + { + sourceClock.Start(); + initializeSkipButton(); + }); + } + + protected override void OnSuspending(Screen next) + { + Content.FadeOut(350); + base.OnSuspending(next); } protected override bool OnExiting(Screen next)