diff --git a/osu.Game/Screens/Multi/Match/MatchSubScreen.cs b/osu.Game/Screens/Multi/Match/MatchSubScreen.cs
index cd51aea575..d97b32e54a 100644
--- a/osu.Game/Screens/Multi/Match/MatchSubScreen.cs
+++ b/osu.Game/Screens/Multi/Match/MatchSubScreen.cs
@@ -179,6 +179,15 @@ namespace osu.Game.Screens.Multi.Match
CurrentItem.BindValueChanged(currentItemChanged, true);
}
+ public override bool OnExiting(IScreen next)
+ {
+ RoomManager?.PartRoom();
+ return base.OnExiting(next);
+ }
+
+ ///
+ /// Handles propagation of the current playlist item's content to game-wide mechanisms.
+ ///
private void currentItemChanged(PlaylistItem item)
{
// Retrieve the corresponding local beatmap, since we can't directly use the playlist's beatmap info
@@ -190,12 +199,6 @@ namespace osu.Game.Screens.Multi.Match
Ruleset.Value = item.Ruleset;
}
- public override bool OnExiting(IScreen next)
- {
- RoomManager?.PartRoom();
- return base.OnExiting(next);
- }
-
///
/// Handle the case where a beatmap is imported (and can be used by this match).
///
diff --git a/osu.Game/Screens/Multi/Multiplayer.cs b/osu.Game/Screens/Multi/Multiplayer.cs
index 1103e781ff..822be0891b 100644
--- a/osu.Game/Screens/Multi/Multiplayer.cs
+++ b/osu.Game/Screens/Multi/Multiplayer.cs
@@ -184,7 +184,6 @@ namespace osu.Game.Screens.Multi
public override void OnEntering(IScreen last)
{
this.FadeIn();
-
waves.Show();
}
@@ -201,18 +200,24 @@ namespace osu.Game.Screens.Multi
updatePollingRate(isIdle.Value);
- // the wave overlay transition takes longer than expected to run.
- logo?.AppendAnimatingAction(() => logo.Delay(WaveContainer.DISAPPEAR_DURATION / 2).FadeOut(), false);
-
+ base.OnExiting(next);
return false;
}
+ protected override void LogoExiting(OsuLogo logo)
+ {
+ base.LogoExiting(logo);
+
+ // the wave overlay transition takes longer than expected to run.
+ logo.Delay(WaveContainer.DISAPPEAR_DURATION / 2).FadeOut();
+ }
+
public override void OnResuming(IScreen last)
{
this.FadeIn(250);
this.ScaleTo(1, 250, Easing.OutSine);
- logo?.AppendAnimatingAction(() => ApplyLogoArrivingDefaults(logo), true);
+ base.OnResuming(last);
updatePollingRate(isIdle.Value);
}