Beispiel #1
0
        protected override void CheckJudgement(bool userTriggered)
        {
            if (!userTriggered)
            {
                if (Judgement.TimeOffset > HitObject.HitWindowFor(OsuScoreResult.Hit50))
                {
                    Judgement.Result = HitResult.Miss;
                }
                return;
            }

            double hitOffset = Math.Abs(Judgement.TimeOffset);

            OsuJudgementInfo osuJudgement = (OsuJudgementInfo)Judgement;

            if (hitOffset < HitObject.HitWindowFor(OsuScoreResult.Hit50))
            {
                Judgement.Result   = HitResult.Hit;
                osuJudgement.Score = HitObject.ScoreResultForOffset(hitOffset);
            }
            else
            {
                Judgement.Result = HitResult.Miss;
            }
        }
Beispiel #2
0
        public HitExplosion(OsuJudgementInfo judgement, OsuHitObject h = null)
        {
            this.judgement = judgement;
            AutoSizeAxes   = Axes.Both;
            Origin         = Anchor.Centre;

            Direction = FlowDirection.VerticalOnly;
            Spacing   = new Vector2(0, 2);
            Position  = (h?.EndPosition ?? Vector2.Zero) + judgement.PositionOffset;

            Children = new Drawable[]
            {
                line1 = new SpriteText
                {
                    Anchor   = Anchor.TopCentre,
                    Origin   = Anchor.TopCentre,
                    Text     = judgement.Score.GetDescription(),
                    Font     = @"Venera",
                    TextSize = 16,
                },
                line2 = new SpriteText
                {
                    Text     = judgement.Combo.GetDescription(),
                    Font     = @"Venera",
                    TextSize = 11,
                }
            };
        }
Beispiel #3
0
        public HitExplosion(OsuJudgementInfo judgement)
        {
            AutoSizeAxes = Axes.Both;
            Anchor       = Anchor.Centre;
            Origin       = Anchor.Centre;

            Direction = FlowDirection.VerticalOnly;
            Spacing   = new Vector2(0, 2);

            Children = new Drawable[]
            {
                line1 = new SpriteText
                {
                    Anchor   = Anchor.TopCentre,
                    Origin   = Anchor.TopCentre,
                    Text     = judgement.Score.GetDescription(),
                    Font     = @"Venera",
                    TextSize = 20,
                },
                line2 = new SpriteText
                {
                    Text     = judgement.Combo.GetDescription(),
                    Font     = @"Venera",
                    TextSize = 14,
                }
            };
        }
Beispiel #4
0
        public HitExplosion(OsuJudgementInfo judgement, OsuHitObject h = null)
        {
            this.judgement = judgement;
            AutoSizeAxes = Axes.Both;
            Origin = Anchor.Centre;

            Direction = FlowDirection.VerticalOnly;
            Spacing = new Vector2(0, 2);
            Position = (h?.EndPosition ?? Vector2.Zero) + judgement.PositionOffset;

            Children = new Drawable[]
            {
                line1 = new SpriteText
                {
                    Anchor = Anchor.TopCentre,
                    Origin = Anchor.TopCentre,
                    Text = judgement.Score.GetDescription(),
                    Font = @"Venera",
                    TextSize = 16,
                },
                line2 = new SpriteText
                {
                    Text = judgement.Combo.GetDescription(),
                    Font = @"Venera",
                    TextSize = 11,
                }
            };
        }
Beispiel #5
0
        protected override void CheckJudgement(bool userTriggered)
        {
            if (!userTriggered)
            {
                if (Judgement.TimeOffset > hit50)
                {
                    Judgement.Result = HitResult.Miss;
                }
                return;
            }

            double hitOffset = Math.Abs(Judgement.TimeOffset);

            if (hitOffset < hit50)
            {
                Judgement.Result = HitResult.Hit;

                OsuJudgementInfo osuInfo = Judgement as OsuJudgementInfo;

                if (hitOffset < hit300)
                {
                    osuInfo.Score = OsuScoreResult.Hit300;
                }
                else if (hitOffset < hit100)
                {
                    osuInfo.Score = OsuScoreResult.Hit100;
                }
                else if (hitOffset < hit50)
                {
                    osuInfo.Score = OsuScoreResult.Hit50;
                }
            }
            else
            {
                Judgement.Result = HitResult.Miss;
            }
        }