Don't restart completion delegate on exit, revert exit behavior to lazer

This commit is contained in:
Christine Chen 2021-05-08 11:45:31 -04:00
parent 8c564a69ed
commit 25312b3e88
2 changed files with 2 additions and 4 deletions

View File

@ -140,7 +140,7 @@ namespace osu.Game.Tests.Visual.Gameplay
AddStep("disable storyboard", () => LocalConfig.SetValue(OsuSetting.ShowStoryboard, false));
AddUntilStep("completion set by processor", () => Player.ScoreProcessor.HasCompleted.Value);
AddStep("exit via pause", () => Player.ExitViaPause());
AddAssert("score shown", () => Player.IsScoreShown);
AddAssert("score not shown", () => !Player.IsScoreShown);
}
protected override bool AllowFail => true;

View File

@ -541,10 +541,8 @@ namespace osu.Game.Screens.Play
}
// if the score is ready for display but results screen has not been pushed yet (e.g. storyboard is still playing beyond gameplay), then transition to results screen instead of exiting.
if (prepareScoreForDisplayTask != null)
if (prepareScoreForDisplayTask != null && completionProgressDelegate == null)
{
completionProgressDelegate?.Cancel();
completionProgressDelegate = null;
updateCompletionState(true);
}
}