From 4bdaa8ae680213f6b4e2c18e514f7bd51c0a9068 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 8 Aug 2017 10:36:05 +0900 Subject: [PATCH] Add basic miss support --- .../Objects/Drawable/DrawableFruit.cs | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/osu.Game.Rulesets.Catch/Objects/Drawable/DrawableFruit.cs b/osu.Game.Rulesets.Catch/Objects/Drawable/DrawableFruit.cs index a2cf0ec279..8531428acf 100644 --- a/osu.Game.Rulesets.Catch/Objects/Drawable/DrawableFruit.cs +++ b/osu.Game.Rulesets.Catch/Objects/Drawable/DrawableFruit.cs @@ -17,6 +17,8 @@ namespace osu.Game.Rulesets.Catch.Objects.Drawable { internal class DrawableFruit : DrawableScrollingHitObject { + private Box box; + private class Pulp : Circle, IHasAccentColour { public Pulp() @@ -49,10 +51,10 @@ namespace osu.Game.Rulesets.Catch.Objects.Drawable { Children = new Framework.Graphics.Drawable[] { - new Box + box = new Box { RelativeSizeAxes = Axes.Both, - Colour = Color4.Red, + Colour = Color4.Blue, }, new Pulp { @@ -97,6 +99,12 @@ namespace osu.Game.Rulesets.Catch.Objects.Drawable private const float preempt = 1000; + protected override void CheckJudgement(bool userTriggered) + { + if (Judgement.TimeOffset > 0) + Judgement.Result = HitResult.Miss; + } + protected override void UpdateState(ArmedState state) { using (BeginAbsoluteSequence(HitObject.StartTime - preempt)) @@ -104,6 +112,17 @@ namespace osu.Game.Rulesets.Catch.Objects.Drawable // animation this.FadeIn(200); } + + switch (state) + { + case ArmedState.Miss: + using (BeginAbsoluteSequence(HitObject.StartTime, true)) + { + this.FadeOut(250).RotateTo(Rotation * 2, 250, Easing.Out); + box.FadeColour(Color4.OrangeRed); + } + break; + } } } }