1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 14:17:26 +08:00

Fix banannanananana showers not exploding enough

This commit is contained in:
Dean Herbert 2018-01-12 22:30:21 +09:00
parent 7b19353ed8
commit 9e10854840
2 changed files with 17 additions and 7 deletions

View File

@ -5,7 +5,9 @@ using System;
using System.Linq;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Game.Rulesets.Judgements;
using osu.Game.Rulesets.Objects.Drawables;
using osu.Game.Rulesets.Scoring;
namespace osu.Game.Rulesets.Catch.Objects.Drawable
{
@ -26,6 +28,12 @@ namespace osu.Game.Rulesets.Catch.Objects.Drawable
AddNested(getVisualRepresentation?.Invoke(b));
}
protected override void CheckForJudgements(bool userTriggered, double timeOffset)
{
if (timeOffset >= 0)
AddJudgement(new Judgement { Result = NestedHitObjects.Cast<DrawableCatchHitObject>().Any(n => n.Judgements.Any(j => j.IsHit)) ? HitResult.Perfect : HitResult.Miss });
}
protected override void AddNested(DrawableHitObject h)
{
((DrawableCatchHitObject)h).CheckPosition = o => CheckPosition?.Invoke(o) ?? false;

View File

@ -69,18 +69,20 @@ namespace osu.Game.Rulesets.Catch.UI
lastPlateableFruit = caughtFruit;
}
// this is required to make this run after the last caught fruit runs UpdateState at least once.
// TODO: find a better alternative
lastPlateableFruit.OnLoadComplete = _ =>
if (fruit.HitObject.LastInCombo)
{
if (fruit.HitObject.LastInCombo)
if (judgement.IsHit)
{
if (judgement.IsHit)
// this is required to make this run after the last caught fruit runs UpdateState at least once.
// TODO: find a better alternative
if (lastPlateableFruit.IsLoaded)
MovableCatcher.Explode();
else
MovableCatcher.Drop();
lastPlateableFruit.OnLoadComplete = _ => { MovableCatcher.Explode(); };
}
};
else
MovableCatcher.Drop();
}
}
public bool OnPressed(CatchAction action)