diff --git a/osu.Game/Screens/Multi/Multiplayer.cs b/osu.Game/Screens/Multi/Multiplayer.cs
index da05307b4f..7d362eb8d5 100644
--- a/osu.Game/Screens/Multi/Multiplayer.cs
+++ b/osu.Game/Screens/Multi/Multiplayer.cs
@@ -181,11 +181,8 @@ namespace osu.Game.Screens.Multi
loungeSubScreen.MakeCurrent();
updatePollingRate(isIdle.Value);
- logo?.AppendAnimatingAction(() =>
- {
- // the wave overlay transition takes longer than expected to run.
- logo.Delay(WaveContainer.DISAPPEAR_DURATION / 2).FadeOut();
- }, false);
+ // the wave overlay transition takes longer than expected to run.
+ logo?.AppendAnimatingAction(() => logo.Delay(WaveContainer.DISAPPEAR_DURATION / 2).FadeOut(), false);
return false;
}
@@ -195,6 +192,8 @@ namespace osu.Game.Screens.Multi
this.FadeIn(250);
this.ScaleTo(1, 250, Easing.OutSine);
+ logo?.AppendAnimatingAction(() => OsuScreen.ApplyLogoArrivingDefaults(logo), true);
+
updatePollingRate(isIdle.Value);
}
diff --git a/osu.Game/Screens/OsuScreen.cs b/osu.Game/Screens/OsuScreen.cs
index 9fa0737602..672969e456 100644
--- a/osu.Game/Screens/OsuScreen.cs
+++ b/osu.Game/Screens/OsuScreen.cs
@@ -155,14 +155,7 @@ namespace osu.Game.Screens
///
protected virtual void LogoArriving(OsuLogo logo, bool resuming)
{
- logo.Action = null;
- logo.FadeOut(300, Easing.OutQuint);
- logo.Anchor = Anchor.TopLeft;
- logo.Origin = Anchor.Centre;
- logo.RelativePositionAxes = Axes.None;
- logo.BeatMatching = true;
- logo.Triangles = true;
- logo.Ripple = true;
+ ApplyLogoArrivingDefaults(logo);
}
private void applyArrivingDefaults(bool isResuming)
@@ -179,6 +172,23 @@ namespace osu.Game.Screens
updateOverlayStates?.Invoke();
}
+ ///
+ /// Applies default animations to an arriving logo.
+ /// Todo: This should not exist.
+ ///
+ /// The logo to apply animations to.
+ public static void ApplyLogoArrivingDefaults(OsuLogo logo)
+ {
+ logo.Action = null;
+ logo.FadeOut(300, Easing.OutQuint);
+ logo.Anchor = Anchor.TopLeft;
+ logo.Origin = Anchor.Centre;
+ logo.RelativePositionAxes = Axes.None;
+ logo.BeatMatching = true;
+ logo.Triangles = true;
+ logo.Ripple = true;
+ }
+
private void onExitingLogo()
{
logo.AppendAnimatingAction(() => LogoExiting(logo), false);