mirror of
https://github.com/ppy/osu.git
synced 2024-12-16 13:22:55 +08:00
HasStoryboardEnded doesn't trigger updateCompletionState()
Scores won't be shown prematurely if the storyboard ends before the playable portion of the beatmap.
This commit is contained in:
parent
97bacbdc76
commit
c77f838fb0
@ -284,14 +284,16 @@ namespace osu.Game.Screens.Play
|
|||||||
ScoreProcessor.RevertResult(r);
|
ScoreProcessor.RevertResult(r);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
DimmableStoryboard.HasStoryboardEnded.ValueChanged += _ =>
|
||||||
|
{
|
||||||
|
if (ScoreProcessor.HasCompleted.Value)
|
||||||
|
scheduleCompletion();
|
||||||
|
};
|
||||||
|
|
||||||
// Bind the judgement processors to ourselves
|
// Bind the judgement processors to ourselves
|
||||||
ScoreProcessor.HasCompleted.ValueChanged += updateCompletionState;
|
ScoreProcessor.HasCompleted.ValueChanged += updateCompletionState;
|
||||||
HealthProcessor.Failed += onFail;
|
HealthProcessor.Failed += onFail;
|
||||||
|
|
||||||
// Keep track of whether the storyboard ended after the playable portion
|
|
||||||
if (DimmableStoryboard.HasStoryboardEnded != null)
|
|
||||||
DimmableStoryboard.HasStoryboardEnded.ValueChanged += updateCompletionState;
|
|
||||||
|
|
||||||
foreach (var mod in Mods.Value.OfType<IApplicableToScoreProcessor>())
|
foreach (var mod in Mods.Value.OfType<IApplicableToScoreProcessor>())
|
||||||
mod.ApplyToScoreProcessor(ScoreProcessor);
|
mod.ApplyToScoreProcessor(ScoreProcessor);
|
||||||
|
|
||||||
@ -630,7 +632,7 @@ namespace osu.Game.Screens.Play
|
|||||||
return score.ScoreInfo;
|
return score.ScoreInfo;
|
||||||
});
|
});
|
||||||
|
|
||||||
var storyboardHasOutro = DimmableStoryboard.ContentDisplayed && (!DimmableStoryboard.HasStoryboardEnded?.Value ?? false);
|
var storyboardHasOutro = DimmableStoryboard.ContentDisplayed && !DimmableStoryboard.HasStoryboardEnded.Value;
|
||||||
|
|
||||||
if (storyboardHasOutro)
|
if (storyboardHasOutro)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user