1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-15 06:33:20 +08:00

Storyboard completion calls updateCompletionState

- If the storyboard ends after the beatmap, call updateCompletionState as if the score processor has completed at that time. (completionProgressDelegate is null here since earlier when the score processor actually completed, updateCompletionState returned after showing the skip overlay.)

- If the storyboard ends before the beatmap does, updateCompletionState simply returns and waits until the score processor is completed.

- If the storyboard and beatmap end at the exact same time, make sure updateCompletionState() is called only once by the score processor completion.

Co-Authored-By: Marlina José <marlina@umich.edu>
This commit is contained in:
Christine Chen 2021-04-18 23:25:20 -04:00
parent 98460c8feb
commit 99fab456b5

View File

@ -285,8 +285,8 @@ namespace osu.Game.Screens.Play
DimmableStoryboard.HasStoryboardEnded.ValueChanged += storyboardEnded =>
{
if (storyboardEnded.NewValue && ScoreProcessor.HasCompleted.Value)
scheduleCompletion();
if (storyboardEnded.NewValue && completionProgressDelegate == null)
updateCompletionState(new ValueChangedEvent<bool>(true, ScoreProcessor.HasCompleted.Value));
};
// Bind the judgement processors to ourselves