From 385df51b06d83e72bce2b3cc6b4a2d545e9f614b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Thu, 11 Nov 2021 15:25:58 +0100 Subject: [PATCH] Ensure editor test player is exited on completion --- .../Visual/Editing/TestSceneEditorTestGameplay.cs | 3 +-- osu.Game/Screens/Edit/EditorPlayer.cs | 11 +++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/osu.Game.Tests/Visual/Editing/TestSceneEditorTestGameplay.cs b/osu.Game.Tests/Visual/Editing/TestSceneEditorTestGameplay.cs index 9c44a6a986..e2a36e1371 100644 --- a/osu.Game.Tests/Visual/Editing/TestSceneEditorTestGameplay.cs +++ b/osu.Game.Tests/Visual/Editing/TestSceneEditorTestGameplay.cs @@ -106,8 +106,7 @@ namespace osu.Game.Tests.Visual.Editing EditorPlayer editorPlayer = null; AddUntilStep("player pushed", () => (editorPlayer = Stack.CurrentScreen as EditorPlayer) != null); AddAssert("beatmap has 1 object", () => editorPlayer.Beatmap.Value.Beatmap.HitObjects.Count == 1); - AddStep("exit player", () => editorPlayer.Exit()); - AddUntilStep("current screen is editor", () => Stack.CurrentScreen is Editor); + AddUntilStep("wait for return to editor", () => Stack.CurrentScreen is Editor); } public override void TearDownSteps() diff --git a/osu.Game/Screens/Edit/EditorPlayer.cs b/osu.Game/Screens/Edit/EditorPlayer.cs index f8dd75d94a..15e2ecb73b 100644 --- a/osu.Game/Screens/Edit/EditorPlayer.cs +++ b/osu.Game/Screens/Edit/EditorPlayer.cs @@ -1,6 +1,7 @@ // Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. +using osu.Framework.Screens; using osu.Game.Screens.Play; namespace osu.Game.Screens.Edit @@ -12,6 +13,16 @@ namespace osu.Game.Screens.Edit { } + protected override void LoadComplete() + { + base.LoadComplete(); + ScoreProcessor.HasCompleted.BindValueChanged(completed => + { + if (completed.NewValue) + Scheduler.AddDelayed(this.Exit, RESULTS_DISPLAY_DELAY); + }); + } + protected override void PrepareReplay() { // don't record replays.