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);