Ejemplo n.º 1
0
        protected override void UpdateAfterChildren()
        {
            base.UpdateAfterChildren();

            circle.Rotation = disc.Rotation;
            ticks.Rotation  = disc.Rotation;

            float relativeCircleScale = spinner.Scale * circle.DrawHeight / mainContainer.DrawHeight;

            disc.ScaleTo(relativeCircleScale + (1 - relativeCircleScale) * Progress, 200, EasingTypes.OutQuint);

            symbol.RotateTo(disc.Rotation / 2, 500, EasingTypes.OutQuint);
        }
Ejemplo n.º 2
0
        protected override void UpdateAfterChildren()
        {
            base.UpdateAfterChildren();

            circle.Rotation = Disc.Rotation;
            Ticks.Rotation  = Disc.Rotation;
            spmCounter.SetRotation(Disc.RotationAbsolute);

            float relativeCircleScale = Spinner.Scale * circle.DrawHeight / mainContainer.DrawHeight;

            Disc.ScaleTo(relativeCircleScale + (1 - relativeCircleScale) * Progress, 200, Easing.OutQuint);

            symbol.RotateTo(Disc.Rotation / 2, 500, Easing.OutQuint);
        }
Ejemplo n.º 3
0
        protected override void CheckJudgement(bool userTriggered)
        {
            if (Time.Current < HitObject.StartTime)
            {
                return;
            }

            var j = Judgement as OsuJudgementInfo;

            disc.ScaleTo(Interpolation.ValueAt(Math.Sqrt(Progress), scaleToCircle, Vector2.One, 0, 1), 100);

            if (Progress >= 1)
            {
                disc.Complete = true;
            }

            if (!userTriggered && Time.Current >= HitObject.EndTime)
            {
                if (Progress >= 1)
                {
                    j.Score  = OsuScoreResult.Hit300;
                    j.Result = HitResult.Hit;
                }
                else if (Progress > .9)
                {
                    j.Score  = OsuScoreResult.Hit100;
                    j.Result = HitResult.Hit;
                }
                else if (Progress > .75)
                {
                    j.Score  = OsuScoreResult.Hit50;
                    j.Result = HitResult.Hit;
                }
                else
                {
                    j.Score = OsuScoreResult.Miss;
                    if (Time.Current >= HitObject.EndTime)
                    {
                        j.Result = HitResult.Miss;
                    }
                }
            }
        }
Ejemplo n.º 4
0
        protected override void UpdateAfterChildren()
        {
            base.UpdateAfterChildren();

            if (!SpmCounter.IsPresent && Disc.Tracking)
            {
                SpmCounter.FadeIn(HitObject.TimeFadeIn);
            }

            circle.Rotation = Disc.Rotation;
            Ticks.Rotation  = Disc.Rotation;
            SpmCounter.SetRotation(Disc.RotationAbsolute);

            float relativeCircleScale = Spinner.Scale * circle.DrawHeight / mainContainer.DrawHeight;

            Disc.ScaleTo(relativeCircleScale + (1 - relativeCircleScale) * Progress, 200, Easing.OutQuint);

            symbol.RotateTo(Disc.Rotation / 2, 500, Easing.OutQuint);
        }