// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using osu.Framework.Graphics; using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Scoring; using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.EmptyScrolling.Objects.Drawables { public partial class DrawableEmptyScrollingHitObject : DrawableHitObject<EmptyScrollingHitObject> { public DrawableEmptyScrollingHitObject(EmptyScrollingHitObject hitObject) : base(hitObject) { Size = new Vector2(40); Origin = Anchor.Centre; // todo: add visuals. } protected override void CheckForResult(bool userTriggered, double timeOffset) { if (timeOffset >= 0) // todo: implement judgement logic ApplyResult(r => r.Type = HitResult.Perfect); } protected override void UpdateHitStateTransforms(ArmedState state) { const double duration = 1000; switch (state) { case ArmedState.Hit: this.FadeOut(duration, Easing.OutQuint).Expire(); break; case ArmedState.Miss: this.FadeColour(Color4.Red, duration); this.FadeOut(duration, Easing.InQuint).Expire(); break; } } } }