1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-21 23:27:25 +08:00

Update screen transition events to use new event args

This commit is contained in:
Dean Herbert 2022-04-22 00:52:44 +09:00
parent 4d3044b841
commit 832d37b2c2
50 changed files with 194 additions and 194 deletions

View File

@ -359,9 +359,9 @@ namespace osu.Game.Tests.Visual.Background
protected override BackgroundScreen CreateBackground() => protected override BackgroundScreen CreateBackground() =>
new FadeAccessibleBackground(Beatmap.Value); new FadeAccessibleBackground(Beatmap.Value);
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
ApplyToBackground(b => ReplacesBackground.BindTo(b.StoryboardReplacesBackground)); ApplyToBackground(b => ReplacesBackground.BindTo(b.StoryboardReplacesBackground));
} }

View File

@ -389,9 +389,9 @@ namespace osu.Game.Tests.Visual.Gameplay
public void ExitViaQuickExit() => PerformExit(false); public void ExitViaQuickExit() => PerformExit(false);
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
GameplayClockContainer.Stop(); GameplayClockContainer.Stop();
} }
} }

View File

@ -230,7 +230,7 @@ namespace osu.Game.Tests.Visual.Navigation
public int ExitAttempts { get; private set; } public int ExitAttempts { get; private set; }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
ExitAttempts++; ExitAttempts++;
@ -240,7 +240,7 @@ namespace osu.Game.Tests.Visual.Navigation
return true; return true;
} }
return base.OnExiting(next); return base.OnExiting(e);
} }
} }
@ -257,7 +257,7 @@ namespace osu.Game.Tests.Visual.Navigation
SubScreenStack.Push(Blocker = new DialogBlockingScreen()); SubScreenStack.Push(Blocker = new DialogBlockingScreen());
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
if (SubScreenStack.CurrentScreen != null) if (SubScreenStack.CurrentScreen != null)
{ {
@ -265,7 +265,7 @@ namespace osu.Game.Tests.Visual.Navigation
return true; return true;
} }
return base.OnExiting(next); return base.OnExiting(e);
} }
} }
} }

View File

@ -80,10 +80,10 @@ namespace osu.Game.Tests.Visual
public override bool OnBackButton() => (screenStack.CurrentScreen as OsuScreen)?.OnBackButton() ?? base.OnBackButton(); public override bool OnBackButton() => (screenStack.CurrentScreen as OsuScreen)?.OnBackButton() ?? base.OnBackButton();
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
if (screenStack.CurrentScreen == null) if (screenStack.CurrentScreen == null)
return base.OnExiting(next); return base.OnExiting(e);
screenStack.Exit(); screenStack.Exit();
return true; return true;

View File

@ -209,7 +209,7 @@ namespace osu.Game.Graphics.Containers
{ {
protected override bool AllowStoryboardBackground => false; protected override bool AllowStoryboardBackground => false;
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
this.FadeInFromZero(4000, Easing.OutQuint); this.FadeInFromZero(4000, Easing.OutQuint);
} }

View File

@ -8,21 +8,21 @@ namespace osu.Game.Overlays.AccountCreation
{ {
public abstract class AccountCreationScreen : Screen public abstract class AccountCreationScreen : Screen
{ {
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
this.FadeOut().Delay(200).FadeIn(200); this.FadeOut().Delay(200).FadeIn(200);
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
this.FadeIn(200); this.FadeIn(200);
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
base.OnSuspending(next); base.OnSuspending(e);
this.FadeOut(200); this.FadeOut(200);
} }
} }

View File

@ -147,9 +147,9 @@ namespace osu.Game.Overlays.AccountCreation
d.Colour = password.Length == 0 ? Color4.White : Interpolation.ValueAt(password.Length, Color4.OrangeRed, Color4.YellowGreen, 0, 8, Easing.In); d.Colour = password.Length == 0 ? Color4.White : Interpolation.ValueAt(password.Length, Color4.OrangeRed, Color4.YellowGreen, 0, 8, Easing.In);
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
loadingLayer.Hide(); loadingLayer.Hide();
if (host?.OnScreenKeyboardOverlapsGameWindow != true) if (host?.OnScreenKeyboardOverlapsGameWindow != true)

View File

@ -31,7 +31,7 @@ namespace osu.Game.Overlays.AccountCreation
private const string help_centre_url = "/help/wiki/Help_Centre#login"; private const string help_centre_url = "/help/wiki/Help_Centre#login";
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
if (string.IsNullOrEmpty(api?.ProvidedUsername) || game?.UseDevelopmentServer == true) if (string.IsNullOrEmpty(api?.ProvidedUsername) || game?.UseDevelopmentServer == true)
{ {
@ -40,7 +40,7 @@ namespace osu.Game.Overlays.AccountCreation
return; return;
} }
base.OnEntering(last); base.OnEntering(e);
} }
[BackgroundDependencyLoader(true)] [BackgroundDependencyLoader(true)]

View File

@ -124,9 +124,9 @@ namespace osu.Game.Overlays.Settings.Sections.Maintenance
base.LoadComplete(); base.LoadComplete();
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
base.OnSuspending(next); base.OnSuspending(e);
this.FadeOut(250); this.FadeOut(250);
} }

View File

@ -124,20 +124,20 @@ namespace osu.Game.Overlays.Settings.Sections.Maintenance
protected virtual bool PerformMigration() => game?.Migrate(destination.FullName) != false; protected virtual bool PerformMigration() => game?.Migrate(destination.FullName) != false;
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
this.FadeOut().Delay(250).Then().FadeIn(250); this.FadeOut().Delay(250).Then().FadeIn(250);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
// block until migration is finished // block until migration is finished
if (migrationTask?.IsCompleted == false) if (migrationTask?.IsCompleted == false)
return true; return true;
return base.OnExiting(next); return base.OnExiting(e);
} }
} }
} }

View File

@ -30,10 +30,10 @@ namespace osu.Game.Overlays.Settings.Sections.Maintenance
this.Exit(); this.Exit();
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
taskCompletionSource.TrySetCanceled(); taskCompletionSource.TrySetCanceled();
return base.OnExiting(next); return base.OnExiting(e);
} }
} }
} }

View File

@ -48,7 +48,7 @@ namespace osu.Game.Screens
Scale = new Vector2(1 + x_movement_amount / DrawSize.X * 2); Scale = new Vector2(1 + x_movement_amount / DrawSize.X * 2);
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
if (animateOnEnter) if (animateOnEnter)
{ {
@ -59,16 +59,16 @@ namespace osu.Game.Screens
this.MoveToX(0, TRANSITION_LENGTH, Easing.InOutQuart); this.MoveToX(0, TRANSITION_LENGTH, Easing.InOutQuart);
} }
base.OnEntering(last); base.OnEntering(e);
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
this.MoveToX(-x_movement_amount, TRANSITION_LENGTH, Easing.InOutQuart); this.MoveToX(-x_movement_amount, TRANSITION_LENGTH, Easing.InOutQuart);
base.OnSuspending(next); base.OnSuspending(e);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
if (IsLoaded) if (IsLoaded)
{ {
@ -76,14 +76,14 @@ namespace osu.Game.Screens
this.MoveToX(x_movement_amount, TRANSITION_LENGTH, Easing.OutExpo); this.MoveToX(x_movement_amount, TRANSITION_LENGTH, Easing.OutExpo);
} }
return base.OnExiting(next); return base.OnExiting(e);
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
if (IsLoaded) if (IsLoaded)
this.MoveToX(0, TRANSITION_LENGTH, Easing.OutExpo); this.MoveToX(0, TRANSITION_LENGTH, Easing.OutExpo);
base.OnResuming(last); base.OnResuming(e);
} }
} }
} }

View File

@ -19,7 +19,7 @@ namespace osu.Game.Screens.Backgrounds
}; };
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
Show(); Show();
} }

View File

@ -560,16 +560,16 @@ namespace osu.Game.Screens.Edit
{ {
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
dimBackground(); dimBackground();
resetTrack(true); resetTrack(true);
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
dimBackground(); dimBackground();
} }
@ -585,7 +585,7 @@ namespace osu.Game.Screens.Edit
}); });
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
if (!ExitConfirmed) if (!ExitConfirmed)
{ {
@ -613,12 +613,12 @@ namespace osu.Game.Screens.Edit
refetchBeatmap(); refetchBeatmap();
return base.OnExiting(next); return base.OnExiting(e);
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
base.OnSuspending(next); base.OnSuspending(e);
clock.Stop(); clock.Stop();
refetchBeatmap(); refetchBeatmap();
} }

View File

@ -44,9 +44,9 @@ namespace osu.Game.Screens.Edit.GameplayTest
protected override bool CheckModsAllowFailure() => false; // never fail. protected override bool CheckModsAllowFailure() => false; // never fail.
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
// finish alpha transforms on entering to avoid gameplay starting in a half-hidden state. // finish alpha transforms on entering to avoid gameplay starting in a half-hidden state.
// the finish calls are purposefully not propagated to children to avoid messing up their state. // the finish calls are purposefully not propagated to children to avoid messing up their state.
@ -54,13 +54,13 @@ namespace osu.Game.Screens.Edit.GameplayTest
GameplayClockContainer.FinishTransforms(false, nameof(Alpha)); GameplayClockContainer.FinishTransforms(false, nameof(Alpha));
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
musicController.Stop(); musicController.Stop();
editorState.Time = GameplayClockContainer.CurrentTime; editorState.Time = GameplayClockContainer.CurrentTime;
editor.RestoreState(editorState); editor.RestoreState(editorState);
return base.OnExiting(next); return base.OnExiting(e);
} }
} }
} }

View File

@ -19,9 +19,9 @@ namespace osu.Game.Screens.Edit.GameplayTest
{ {
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
MetadataInfo.FinishTransforms(true); MetadataInfo.FinishTransforms(true);
} }

View File

@ -118,20 +118,20 @@ namespace osu.Game.Screens.Import
fileSelector.CurrentPath.BindValueChanged(directoryChanged); fileSelector.CurrentPath.BindValueChanged(directoryChanged);
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
contentContainer.ScaleTo(0.95f).ScaleTo(1, duration, Easing.OutQuint); contentContainer.ScaleTo(0.95f).ScaleTo(1, duration, Easing.OutQuint);
this.FadeInFromZero(duration); this.FadeInFromZero(duration);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
contentContainer.ScaleTo(0.95f, duration, Easing.OutQuint); contentContainer.ScaleTo(0.95f, duration, Easing.OutQuint);
this.FadeOut(duration, Easing.OutQuint); this.FadeOut(duration, Easing.OutQuint);
return base.OnExiting(next); return base.OnExiting(e);
} }
private void directoryChanged(ValueChangedEvent<DirectoryInfo> _) private void directoryChanged(ValueChangedEvent<DirectoryInfo> _)

View File

@ -69,9 +69,9 @@ namespace osu.Game.Screens
private EFToRealmMigrator realmMigrator; private EFToRealmMigrator realmMigrator;
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
LoadComponentAsync(precompiler = CreateShaderPrecompiler(), AddInternal); LoadComponentAsync(precompiler = CreateShaderPrecompiler(), AddInternal);

View File

@ -171,9 +171,9 @@ namespace osu.Game.Screens.Menu
((IBindable<APIUser>)currentUser).BindTo(api.LocalUser); ((IBindable<APIUser>)currentUser).BindTo(api.LocalUser);
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
icon.RotateTo(10); icon.RotateTo(10);
icon.FadeOut(); icon.FadeOut();

View File

@ -57,10 +57,10 @@ namespace osu.Game.Screens.Menu
} }
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
this.FadeOut(300); this.FadeOut(300);
base.OnSuspending(next); base.OnSuspending(e);
} }
} }
} }

View File

@ -164,9 +164,9 @@ namespace osu.Game.Screens.Menu
} }
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
ensureEventuallyArrivingAtMenu(); ensureEventuallyArrivingAtMenu();
} }
@ -194,7 +194,7 @@ namespace osu.Game.Screens.Menu
}, 5000); }, 5000);
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
this.FadeIn(300); this.FadeIn(300);
@ -237,12 +237,12 @@ namespace osu.Game.Screens.Menu
//don't want to fade out completely else we will stop running updates. //don't want to fade out completely else we will stop running updates.
Game.FadeTo(0.01f, fadeOutTime).OnComplete(_ => this.Exit()); Game.FadeTo(0.01f, fadeOutTime).OnComplete(_ => this.Exit());
base.OnResuming(last); base.OnResuming(e);
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
base.OnSuspending(next); base.OnSuspending(e);
initialBeatmap = null; initialBeatmap = null;
} }

View File

@ -89,9 +89,9 @@ namespace osu.Game.Screens.Menu
} }
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
base.OnSuspending(next); base.OnSuspending(e);
// ensure the background is shown, even if the TriangleIntroSequence failed to do so. // ensure the background is shown, even if the TriangleIntroSequence failed to do so.
background.ApplyToBackground(b => b.Show()); background.ApplyToBackground(b => b.Show());
@ -100,9 +100,9 @@ namespace osu.Game.Screens.Menu
intro.Expire(); intro.Expire();
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
background.FadeOut(100); background.FadeOut(100);
} }

View File

@ -106,9 +106,9 @@ namespace osu.Game.Screens.Menu
} }
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
background.FadeOut(100); background.FadeOut(100);
} }

View File

@ -176,12 +176,12 @@ namespace osu.Game.Screens.Menu
[Resolved] [Resolved]
private Storage storage { get; set; } private Storage storage { get; set; }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
buttons.FadeInFromZero(500); buttons.FadeInFromZero(500);
if (last is IntroScreen && musicController.TrackLoaded) if (e.Last is IntroScreen && musicController.TrackLoaded)
{ {
var track = musicController.CurrentTrack; var track = musicController.CurrentTrack;
@ -249,9 +249,9 @@ namespace osu.Game.Screens.Menu
seq.OnAbort(_ => buttons.SetOsuLogo(null)); seq.OnAbort(_ => buttons.SetOsuLogo(null));
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
base.OnSuspending(next); base.OnSuspending(e);
buttons.State = ButtonSystemState.EnteringMode; buttons.State = ButtonSystemState.EnteringMode;
@ -261,9 +261,9 @@ namespace osu.Game.Screens.Menu
sideFlashes.FadeOut(64, Easing.OutQuint); sideFlashes.FadeOut(64, Easing.OutQuint);
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
ApplyToBackground(b => (b as BackgroundScreenDefault)?.Next()); ApplyToBackground(b => (b as BackgroundScreenDefault)?.Next());
@ -273,7 +273,7 @@ namespace osu.Game.Screens.Menu
musicController.EnsurePlayingSomething(); musicController.EnsurePlayingSomething();
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
if (!exitConfirmed && dialogOverlay != null) if (!exitConfirmed && dialogOverlay != null)
{ {
@ -291,7 +291,7 @@ namespace osu.Game.Screens.Menu
songTicker.Hide(); songTicker.Hide();
this.FadeOut(3000); this.FadeOut(3000);
return base.OnExiting(next); return base.OnExiting(e);
} }
public void PresentBeatmap(WorkingBeatmap beatmap, RulesetInfo ruleset) public void PresentBeatmap(WorkingBeatmap beatmap, RulesetInfo ruleset)

View File

@ -91,15 +91,15 @@ namespace osu.Game.Screens.OnlinePlay.Components
AddInternal(background = newBackground); AddInternal(background = newBackground);
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
base.OnSuspending(next); base.OnSuspending(e);
this.MoveToX(0, TRANSITION_LENGTH); this.MoveToX(0, TRANSITION_LENGTH);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
bool result = base.OnExiting(next); bool result = base.OnExiting(e);
this.MoveToX(0); this.MoveToX(0);
return result; return result;
} }

View File

@ -33,7 +33,7 @@ namespace osu.Game.Screens.OnlinePlay.Lounge
playlist.Clear(); playlist.Clear();
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
// This screen never exits. // This screen never exits.
return true; return true;

View File

@ -238,15 +238,15 @@ namespace osu.Game.Screens.OnlinePlay.Lounge
#endregion #endregion
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
onReturning(); onReturning();
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
Debug.Assert(selectionLease != null); Debug.Assert(selectionLease != null);
@ -261,16 +261,16 @@ namespace osu.Game.Screens.OnlinePlay.Lounge
onReturning(); onReturning();
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
onLeaving(); onLeaving();
return base.OnExiting(next); return base.OnExiting(e);
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
onLeaving(); onLeaving();
base.OnSuspending(next); base.OnSuspending(e);
} }
protected override void OnFocus(FocusEvent e) protected override void OnFocus(FocusEvent e)

View File

@ -290,35 +290,35 @@ namespace osu.Game.Screens.OnlinePlay.Match
protected void ShowUserModSelect() => userModsSelectOverlay.Show(); protected void ShowUserModSelect() => userModsSelectOverlay.Show();
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
beginHandlingTrack(); beginHandlingTrack();
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
endHandlingTrack(); endHandlingTrack();
base.OnSuspending(next); base.OnSuspending(e);
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
updateWorkingBeatmap(); updateWorkingBeatmap();
beginHandlingTrack(); beginHandlingTrack();
Scheduler.AddOnce(UpdateMods); Scheduler.AddOnce(UpdateMods);
Scheduler.AddOnce(updateRuleset); Scheduler.AddOnce(updateRuleset);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
RoomManager?.PartRoom(); RoomManager?.PartRoom();
Mods.Value = Array.Empty<Mod>(); Mods.Value = Array.Empty<Mod>();
endHandlingTrack(); endHandlingTrack();
return base.OnExiting(next); return base.OnExiting(e);
} }
protected void StartPlay() protected void StartPlay()

View File

@ -35,14 +35,14 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer
transitionFromResults(); transitionFromResults();
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
if (client.Room == null) if (client.Room == null)
return; return;
if (!(last is MultiplayerPlayerLoader playerLoader)) if (!(e.Last is MultiplayerPlayerLoader playerLoader))
return; return;
// If gameplay wasn't finished, then we have a simple path back to the idle state by aborting gameplay. // If gameplay wasn't finished, then we have a simple path back to the idle state by aborting gameplay.

View File

@ -25,13 +25,13 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer
[Resolved] [Resolved]
private MultiplayerClient client { get; set; } private MultiplayerClient client { get; set; }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
// Upon having left a room, we don't know whether we were the only participant, and whether the room is now closed as a result of leaving it. // Upon having left a room, we don't know whether we were the only participant, and whether the room is now closed as a result of leaving it.
// To work around this, temporarily remove the room and trigger an immediate listing poll. // To work around this, temporarily remove the room and trigger an immediate listing poll.
if (last is MultiplayerMatchSubScreen match) if (e.Last is MultiplayerMatchSubScreen match)
{ {
RoomManager.RemoveRoom(match.Room); RoomManager.RemoveRoom(match.Room);
ListingPollingComponent.PollImmediately(); ListingPollingComponent.PollImmediately();

View File

@ -242,14 +242,14 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer
private bool exitConfirmed; private bool exitConfirmed;
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
// the room may not be left immediately after a disconnection due to async flow, // the room may not be left immediately after a disconnection due to async flow,
// so checking the IsConnected status is also required. // so checking the IsConnected status is also required.
if (client.Room == null || !client.IsConnected.Value) if (client.Room == null || !client.IsConnected.Value)
{ {
// room has not been created yet; exit immediately. // room has not been created yet; exit immediately.
return base.OnExiting(next); return base.OnExiting(e);
} }
if (!exitConfirmed && dialogOverlay != null) if (!exitConfirmed && dialogOverlay != null)
@ -268,7 +268,7 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer
return true; return true;
} }
return base.OnExiting(next); return base.OnExiting(e);
} }
private ModSettingChangeTracker modSettingChangeTracker; private ModSettingChangeTracker modSettingChangeTracker;

View File

@ -18,10 +18,10 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer
{ {
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
base.OnSuspending(next); base.OnSuspending(e);
player = (Player)next; player = (Player)e.Next;
} }
} }
} }

View File

@ -110,7 +110,7 @@ namespace osu.Game.Screens.OnlinePlay
} }
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
this.FadeIn(); this.FadeIn();
waves.Show(); waves.Show();
@ -118,35 +118,35 @@ namespace osu.Game.Screens.OnlinePlay
Mods.SetDefault(); Mods.SetDefault();
if (loungeSubScreen.IsCurrentScreen()) if (loungeSubScreen.IsCurrentScreen())
loungeSubScreen.OnEntering(last); loungeSubScreen.OnEntering(e);
else else
loungeSubScreen.MakeCurrent(); loungeSubScreen.MakeCurrent();
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
this.FadeIn(250); this.FadeIn(250);
this.ScaleTo(1, 250, Easing.OutSine); this.ScaleTo(1, 250, Easing.OutSine);
Debug.Assert(screenStack.CurrentScreen != null); Debug.Assert(screenStack.CurrentScreen != null);
screenStack.CurrentScreen.OnResuming(last); screenStack.CurrentScreen.OnResuming(e);
base.OnResuming(last); base.OnResuming(e);
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
this.ScaleTo(1.1f, 250, Easing.InSine); this.ScaleTo(1.1f, 250, Easing.InSine);
this.FadeOut(250); this.FadeOut(250);
Debug.Assert(screenStack.CurrentScreen != null); Debug.Assert(screenStack.CurrentScreen != null);
screenStack.CurrentScreen.OnSuspending(next); screenStack.CurrentScreen.OnSuspending(e);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
var subScreen = screenStack.CurrentScreen as Drawable; var subScreen = screenStack.CurrentScreen as Drawable;
if (subScreen?.IsLoaded == true && screenStack.CurrentScreen.OnExiting(next)) if (subScreen?.IsLoaded == true && screenStack.CurrentScreen.OnExiting(e))
return true; return true;
RoomManager.PartRoom(); RoomManager.PartRoom();
@ -155,7 +155,7 @@ namespace osu.Game.Screens.OnlinePlay
this.Delay(WaveContainer.DISAPPEAR_DURATION).FadeOut(); this.Delay(WaveContainer.DISAPPEAR_DURATION).FadeOut();
base.OnExiting(next); base.OnExiting(e);
return false; return false;
} }

View File

@ -141,7 +141,7 @@ namespace osu.Game.Screens.OnlinePlay
return base.OnBackButton(); return base.OnBackButton();
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
if (!itemSelected) if (!itemSelected)
{ {
@ -150,7 +150,7 @@ namespace osu.Game.Screens.OnlinePlay
Mods.Value = initialMods; Mods.Value = initialMods;
} }
return base.OnExiting(next); return base.OnExiting(e);
} }
protected override ModSelectOverlay CreateModSelectOverlay() => new UserModSelectOverlay protected override ModSelectOverlay CreateModSelectOverlay() => new UserModSelectOverlay

View File

@ -27,28 +27,28 @@ namespace osu.Game.Screens.OnlinePlay
public const double DISAPPEAR_DURATION = 500; public const double DISAPPEAR_DURATION = 500;
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
this.FadeInFromZero(APPEAR_DURATION, Easing.OutQuint); this.FadeInFromZero(APPEAR_DURATION, Easing.OutQuint);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
base.OnExiting(next); base.OnExiting(e);
this.FadeOut(DISAPPEAR_DURATION, Easing.OutQuint); this.FadeOut(DISAPPEAR_DURATION, Easing.OutQuint);
return false; return false;
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
this.FadeIn(APPEAR_DURATION, Easing.OutQuint); this.FadeIn(APPEAR_DURATION, Easing.OutQuint);
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
base.OnSuspending(next); base.OnSuspending(e);
this.FadeOut(DISAPPEAR_DURATION, Easing.OutQuint); this.FadeOut(DISAPPEAR_DURATION, Easing.OutQuint);
} }

View File

@ -45,9 +45,9 @@ namespace osu.Game.Screens.OnlinePlay.Playlists
throw new InvalidOperationException("Current Mods do not match PlaylistItem's RequiredMods"); throw new InvalidOperationException("Current Mods do not match PlaylistItem's RequiredMods");
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
if (base.OnExiting(next)) if (base.OnExiting(e))
return true; return true;
Exited?.Invoke(); Exited?.Invoke();

View File

@ -171,7 +171,7 @@ namespace osu.Game.Screens
background.ApplyToBackground(action); background.ApplyToBackground(action);
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
if (PlayResumeSound) if (PlayResumeSound)
sampleExit?.Play(); sampleExit?.Play();
@ -183,19 +183,19 @@ namespace osu.Game.Screens
if (trackAdjustmentStateAtSuspend != null) if (trackAdjustmentStateAtSuspend != null)
musicController.AllowTrackAdjustments = trackAdjustmentStateAtSuspend.Value; musicController.AllowTrackAdjustments = trackAdjustmentStateAtSuspend.Value;
base.OnResuming(last); base.OnResuming(e);
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
base.OnSuspending(next); base.OnSuspending(e);
trackAdjustmentStateAtSuspend = musicController.AllowTrackAdjustments; trackAdjustmentStateAtSuspend = musicController.AllowTrackAdjustments;
onSuspendingLogo(); onSuspendingLogo();
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
applyArrivingDefaults(false); applyArrivingDefaults(false);
@ -210,15 +210,15 @@ namespace osu.Game.Screens
} }
background = backgroundStack?.CurrentScreen as BackgroundScreen; background = backgroundStack?.CurrentScreen as BackgroundScreen;
base.OnEntering(last); base.OnEntering(e);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
if (ValidForResume && logo != null) if (ValidForResume && logo != null)
onExitingLogo(); onExitingLogo();
if (base.OnExiting(next)) if (base.OnExiting(e))
return true; return true;
if (ownedBackground != null && backgroundStack?.CurrentScreen == ownedBackground) if (ownedBackground != null && backgroundStack?.CurrentScreen == ownedBackground)

View File

@ -917,9 +917,9 @@ namespace osu.Game.Screens.Play
#region Screen Logic #region Screen Logic
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
if (!LoadedBeatmapSuccessfully) if (!LoadedBeatmapSuccessfully)
return; return;
@ -985,15 +985,15 @@ namespace osu.Game.Screens.Play
GameplayClockContainer.Reset(true); GameplayClockContainer.Reset(true);
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
screenSuspension?.RemoveAndDisposeImmediately(); screenSuspension?.RemoveAndDisposeImmediately();
fadeOut(); fadeOut();
base.OnSuspending(next); base.OnSuspending(e);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
screenSuspension?.RemoveAndDisposeImmediately(); screenSuspension?.RemoveAndDisposeImmediately();
failAnimationLayer?.RemoveFilters(); failAnimationLayer?.RemoveFilters();
@ -1024,7 +1024,7 @@ namespace osu.Game.Screens.Play
musicController.ResetTrackAdjustments(); musicController.ResetTrackAdjustments();
fadeOut(); fadeOut();
return base.OnExiting(next); return base.OnExiting(e);
} }
/// <summary> /// <summary>

View File

@ -210,9 +210,9 @@ namespace osu.Game.Screens.Play
#region Screen handling #region Screen handling
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
ApplyToBackground(b => ApplyToBackground(b =>
{ {
@ -236,9 +236,9 @@ namespace osu.Game.Screens.Play
showBatteryWarningIfNeeded(); showBatteryWarningIfNeeded();
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
Debug.Assert(CurrentPlayer != null); Debug.Assert(CurrentPlayer != null);
@ -254,9 +254,9 @@ namespace osu.Game.Screens.Play
contentIn(); contentIn();
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
base.OnSuspending(next); base.OnSuspending(e);
BackgroundBrightnessReduction = false; BackgroundBrightnessReduction = false;
@ -268,7 +268,7 @@ namespace osu.Game.Screens.Play
highPassFilter.CutoffTo(0); highPassFilter.CutoffTo(0);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
cancelLoad(); cancelLoad();
ContentOut(); ContentOut();
@ -284,7 +284,7 @@ namespace osu.Game.Screens.Play
BackgroundBrightnessReduction = false; BackgroundBrightnessReduction = false;
Beatmap.Value.Track.RemoveAdjustment(AdjustableProperty.Volume, volumeAdjustment); Beatmap.Value.Track.RemoveAdjustment(AdjustableProperty.Volume, volumeAdjustment);
return base.OnExiting(next); return base.OnExiting(e);
} }
protected override void LogoArriving(OsuLogo logo, bool resuming) protected override void LogoArriving(OsuLogo logo, bool resuming)

View File

@ -20,13 +20,13 @@ namespace osu.Game.Screens.Play
Score = score.ScoreInfo; Score = score.ScoreInfo;
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
// these will be reverted thanks to PlayerLoader's lease. // these will be reverted thanks to PlayerLoader's lease.
Mods.Value = Score.Mods; Mods.Value = Score.Mods;
Ruleset.Value = Score.Ruleset; Ruleset.Value = Score.Ruleset;
base.OnEntering(last); base.OnEntering(e);
} }
} }
} }

View File

@ -249,10 +249,10 @@ namespace osu.Game.Screens.Play
beatmapDownloader.Download(beatmapSet); beatmapDownloader.Download(beatmapSet);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
previewTrackManager.StopAnyPlaying(this); previewTrackManager.StopAnyPlaying(this);
return base.OnExiting(next); return base.OnExiting(e);
} }
} }
} }

View File

@ -24,11 +24,11 @@ namespace osu.Game.Screens.Play
SpectatorClient.OnUserBeganPlaying += userBeganPlaying; SpectatorClient.OnUserBeganPlaying += userBeganPlaying;
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
SpectatorClient.OnUserBeganPlaying -= userBeganPlaying; SpectatorClient.OnUserBeganPlaying -= userBeganPlaying;
return base.OnExiting(next); return base.OnExiting(e);
} }
private void userBeganPlaying(int userId, SpectatorState state) private void userBeganPlaying(int userId, SpectatorState state)

View File

@ -91,11 +91,11 @@ namespace osu.Game.Screens.Play
DrawableRuleset?.SetReplayScore(score); DrawableRuleset?.SetReplayScore(score);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
SpectatorClient.OnNewFrames -= userSentFrames; SpectatorClient.OnNewFrames -= userSentFrames;
return base.OnExiting(next); return base.OnExiting(e);
} }
protected override void Dispose(bool isDisposing) protected override void Dispose(bool isDisposing)

View File

@ -20,13 +20,13 @@ namespace osu.Game.Screens.Play
Score = score.ScoreInfo; Score = score.ScoreInfo;
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
// these will be reverted thanks to PlayerLoader's lease. // these will be reverted thanks to PlayerLoader's lease.
Mods.Value = Score.Mods; Mods.Value = Score.Mods;
Ruleset.Value = Score.Ruleset; Ruleset.Value = Score.Ruleset;
base.OnEntering(last); base.OnEntering(e);
} }
} }
} }

View File

@ -115,9 +115,9 @@ namespace osu.Game.Screens.Play
await submitScore(score).ConfigureAwait(false); await submitScore(score).ConfigureAwait(false);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
bool exiting = base.OnExiting(next); bool exiting = base.OnExiting(e);
if (LoadedBeatmapSuccessfully) if (LoadedBeatmapSuccessfully)
submitScore(Score.DeepClone()); submitScore(Score.DeepClone());

View File

@ -231,9 +231,9 @@ namespace osu.Game.Screens.Ranking
lastFetchCompleted = true; lastFetchCompleted = true;
}); });
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
ApplyToBackground(b => ApplyToBackground(b =>
{ {
@ -244,9 +244,9 @@ namespace osu.Game.Screens.Ranking
bottomPanel.FadeTo(1, 250); bottomPanel.FadeTo(1, 250);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
if (base.OnExiting(next)) if (base.OnExiting(e))
return true; return true;
this.FadeOut(100); this.FadeOut(100);

View File

@ -28,25 +28,25 @@ namespace osu.Game.Screens
protected override BackgroundScreen CreateBackground() => new BackgroundScreenCustom(@"Backgrounds/bg2"); protected override BackgroundScreen CreateBackground() => new BackgroundScreenCustom(@"Backgrounds/bg2");
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
message.TextContainer.MoveTo(new Vector2(DrawSize.X / 16, 0), transition_time, Easing.OutExpo); message.TextContainer.MoveTo(new Vector2(DrawSize.X / 16, 0), transition_time, Easing.OutExpo);
this.FadeOut(transition_time, Easing.OutExpo); this.FadeOut(transition_time, Easing.OutExpo);
return base.OnExiting(next); return base.OnExiting(e);
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
base.OnSuspending(next); base.OnSuspending(e);
message.TextContainer.MoveTo(new Vector2(-(DrawSize.X / 16), 0), transition_time, Easing.OutExpo); message.TextContainer.MoveTo(new Vector2(-(DrawSize.X / 16), 0), transition_time, Easing.OutExpo);
this.FadeOut(transition_time, Easing.OutExpo); this.FadeOut(transition_time, Easing.OutExpo);
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
message.TextContainer.MoveTo(Vector2.Zero, transition_time, Easing.OutExpo); message.TextContainer.MoveTo(Vector2.Zero, transition_time, Easing.OutExpo);
this.FadeIn(transition_time, Easing.OutExpo); this.FadeIn(transition_time, Easing.OutExpo);

View File

@ -109,9 +109,9 @@ namespace osu.Game.Screens.Select
} }
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
if (playerLoader != null) if (playerLoader != null)
{ {

View File

@ -543,9 +543,9 @@ namespace osu.Game.Screens.Select
} }
} }
public override void OnEntering(IScreen last) public override void OnEntering(ScreenTransitionEvent e)
{ {
base.OnEntering(last); base.OnEntering(e);
this.FadeInFromZero(250); this.FadeInFromZero(250);
FilterControl.Activate(); FilterControl.Activate();
@ -591,9 +591,9 @@ namespace osu.Game.Screens.Select
logo.FadeOut(logo_transition / 2, Easing.Out); logo.FadeOut(logo_transition / 2, Easing.Out);
} }
public override void OnResuming(IScreen last) public override void OnResuming(ScreenTransitionEvent e)
{ {
base.OnResuming(last); base.OnResuming(e);
// required due to https://github.com/ppy/osu-framework/issues/3218 // required due to https://github.com/ppy/osu-framework/issues/3218
ModSelect.SelectedMods.Disabled = false; ModSelect.SelectedMods.Disabled = false;
@ -622,7 +622,7 @@ namespace osu.Game.Screens.Select
FilterControl.Activate(); FilterControl.Activate();
} }
public override void OnSuspending(IScreen next) public override void OnSuspending(ScreenTransitionEvent e)
{ {
// Handle the case where FinaliseSelection is never called (ie. when a screen is pushed externally). // Handle the case where FinaliseSelection is never called (ie. when a screen is pushed externally).
// Without this, it's possible for a transfer to happen while we are not the current screen. // Without this, it's possible for a transfer to happen while we are not the current screen.
@ -640,12 +640,12 @@ namespace osu.Game.Screens.Select
this.FadeOut(250); this.FadeOut(250);
FilterControl.Deactivate(); FilterControl.Deactivate();
base.OnSuspending(next); base.OnSuspending(e);
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
if (base.OnExiting(next)) if (base.OnExiting(e))
return true; return true;
beatmapInfoWedge.Hide(); beatmapInfoWedge.Hide();

View File

@ -118,7 +118,7 @@ namespace osu.Game.Tests.Visual
public new bool HasUnsavedChanges => base.HasUnsavedChanges; public new bool HasUnsavedChanges => base.HasUnsavedChanges;
public override bool OnExiting(IScreen next) public override bool OnExiting(ScreenExitEvent e)
{ {
// For testing purposes allow the screen to exit without saving on second attempt. // For testing purposes allow the screen to exit without saving on second attempt.
if (!ExitConfirmed && dialogOverlay?.CurrentDialog is PromptForSaveDialog saveDialog) if (!ExitConfirmed && dialogOverlay?.CurrentDialog is PromptForSaveDialog saveDialog)
@ -127,7 +127,7 @@ namespace osu.Game.Tests.Visual
return true; return true;
} }
return base.OnExiting(next); return base.OnExiting(e);
} }
public TestEditor(EditorLoader loader = null) public TestEditor(EditorLoader loader = null)