Fix new sprites not getting spawned with correct passing state

This commit is contained in:
Dean Herbert 2020-05-08 19:15:19 +09:00
parent 1a31e1f10f
commit 115cbf25ae

View File

@ -29,6 +29,8 @@ namespace osu.Game.Rulesets.Taiko.Skinning
((IBindable<JudgementResult>)LastResult).BindTo(gameplayBeatmap.LastJudgementResult); ((IBindable<JudgementResult>)LastResult).BindTo(gameplayBeatmap.LastJudgementResult);
} }
private bool passing;
protected override void LoadComplete() protected override void LoadComplete()
{ {
base.LoadComplete(); base.LoadComplete();
@ -37,7 +39,7 @@ namespace osu.Game.Rulesets.Taiko.Skinning
{ {
var r = result.NewValue; var r = result.NewValue;
bool passing = r == null || (r.Judgement.AffectsCombo && r.Type > HitResult.Miss); passing = r == null || (r.Judgement.AffectsCombo && r.Type > HitResult.Miss);
foreach (var sprite in InternalChildren.OfType<ScrollerSprite>()) foreach (var sprite in InternalChildren.OfType<ScrollerSprite>())
sprite.Passing = passing; sprite.Passing = passing;
@ -71,7 +73,10 @@ namespace osu.Game.Rulesets.Taiko.Skinning
if (last != null && last.ScreenSpaceDrawQuad.TopRight.X >= ScreenSpaceDrawQuad.TopRight.X) if (last != null && last.ScreenSpaceDrawQuad.TopRight.X >= ScreenSpaceDrawQuad.TopRight.X)
break; break;
AddInternal(new ScrollerSprite()); AddInternal(new ScrollerSprite
{
Passing = passing
});
} }
} }