예제 #1
0
        protected virtual void ApplyHitAnimations()
        {
            JudgementBody.ScaleTo(0.9f);
            JudgementBody.ScaleTo(1, 500, Easing.OutElastic);

            this.Delay(FadeOutDelay).FadeOut(400);
        }
예제 #2
0
        protected override void ApplyHitAnimations()
        {
            JudgementBody.ScaleTo(0.8f);
            JudgementBody.ScaleTo(1, 250, Easing.OutElastic);

            JudgementBody.Delay(FadeInDuration).ScaleTo(0.75f, 250);
            this.Delay(FadeInDuration).FadeOut(200);
        }
예제 #3
0
        protected override void LoadComplete()
        {
            base.LoadComplete();

            this.FadeInFromZero(50, Easing.OutQuint);

            if (Result.IsHit)
            {
                JudgementBody.ScaleTo(0.8f);
                JudgementBody.ScaleTo(1, 250, Easing.OutElastic);

                JudgementBody.Delay(50).ScaleTo(0.75f, 250);
                this.Delay(50).FadeOut(200);
            }

            Expire();
        }
        protected override void ApplyMissAnimations()
        {
            if (!(JudgementBody.Drawable is DefaultManiaJudgementPiece))
            {
                // this is temporary logic until mania's skin transformer returns IAnimatableJudgements
                JudgementBody.ScaleTo(1.6f);
                JudgementBody.ScaleTo(1, 100, Easing.In);

                JudgementBody.MoveTo(Vector2.Zero);
                JudgementBody.MoveToOffset(new Vector2(0, 100), 800, Easing.InQuint);

                JudgementBody.RotateTo(0);
                JudgementBody.RotateTo(40, 800, Easing.InQuint);
                JudgementBody.FadeOutFromOne(800);

                LifetimeEnd = JudgementBody.LatestTransformEndTime;
            }

            base.ApplyMissAnimations();
        }
예제 #5
0
        protected override void PrepareForUse()
        {
            base.PrepareForUse();

            Debug.Assert(Result != null);

            prepareDrawables();

            bodyDrawable.ResetAnimation();

            this.FadeInFromZero(FadeInDuration, Easing.OutQuint);
            JudgementBody.ScaleTo(1);
            JudgementBody.RotateTo(0);
            JudgementBody.MoveTo(Vector2.Zero);

            switch (Result.Type)
            {
            case HitResult.None:
                break;

            case HitResult.Miss:
                JudgementBody.ScaleTo(1.6f);
                JudgementBody.ScaleTo(1, 100, Easing.In);

                JudgementBody.MoveToOffset(new Vector2(0, 100), 800, Easing.InQuint);
                JudgementBody.RotateTo(40, 800, Easing.InQuint);

                this.Delay(600).FadeOut(200);
                break;

            default:
                ApplyHitAnimations();
                break;
            }

            Expire(true);
        }