public void Appear() { this.FadeIn(); if (rank < ScoreRank.A) { this .MoveToOffset(new Vector2(0, -20)) .MoveToOffset(new Vector2(0, 20), 200, Easing.OutBounce); if (rank <= ScoreRank.D) { this.Delay(700) .RotateTo(5, 150, Easing.In) .MoveToOffset(new Vector2(0, 3), 150, Easing.In); } this.FadeInFromZero(200, Easing.OutQuint); return; } flash.Colour = OsuColour.ForRank(rank); flash.FadeIn().Then().FadeOut(1200, Easing.OutQuint); if (rank >= ScoreRank.S) { rankText.ScaleTo(1.05f).ScaleTo(1, 3000, Easing.OutQuint); } if (rank >= ScoreRank.X) { flash.FadeIn().Then().FadeOut(3000); superFlash.FadeIn().Then().FadeOut(800, Easing.OutQuint); } }