1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 17:17:24 +08:00

Proxy screen transition events to subscreens in multiplayer

This commit is contained in:
Bartłomiej Dach 2020-12-24 15:07:03 +01:00
parent 3d28a0ccef
commit a97681a5da

View File

@ -202,6 +202,11 @@ namespace osu.Game.Screens.Multi
{ {
this.FadeIn(); this.FadeIn();
waves.Show(); waves.Show();
if (loungeSubScreen.IsCurrentScreen())
loungeSubScreen.OnEntering(last);
else
loungeSubScreen.MakeCurrent();
} }
public override void OnResuming(IScreen last) public override void OnResuming(IScreen last)
@ -209,6 +214,7 @@ namespace osu.Game.Screens.Multi
this.FadeIn(250); this.FadeIn(250);
this.ScaleTo(1, 250, Easing.OutSine); this.ScaleTo(1, 250, Easing.OutSine);
screenStack.CurrentScreen?.OnResuming(last);
base.OnResuming(last); base.OnResuming(last);
UpdatePollingRate(isIdle.Value); UpdatePollingRate(isIdle.Value);
@ -219,6 +225,8 @@ namespace osu.Game.Screens.Multi
this.ScaleTo(1.1f, 250, Easing.InSine); this.ScaleTo(1.1f, 250, Easing.InSine);
this.FadeOut(250); this.FadeOut(250);
screenStack.CurrentScreen?.OnSuspending(next);
UpdatePollingRate(isIdle.Value); UpdatePollingRate(isIdle.Value);
} }
@ -230,9 +238,7 @@ namespace osu.Game.Screens.Multi
this.Delay(WaveContainer.DISAPPEAR_DURATION).FadeOut(); this.Delay(WaveContainer.DISAPPEAR_DURATION).FadeOut();
if (screenStack.CurrentScreen != null) screenStack.CurrentScreen?.OnExiting(next);
loungeSubScreen.MakeCurrent();
base.OnExiting(next); base.OnExiting(next);
return false; return false;
} }