public override void DisplayAt(Vector2 position, float?selectionWidth) { if (selectionWidth != null) { this.MoveTo(new Vector2(position.X, position.Y), 60, Easing.Out); this.ResizeWidthTo(selectionWidth.Value + CaretWidth / 2, caret_move_time, Easing.Out); cursor.Alpha = 1.0f; cursor.ThemeColour = ThemeColour.ThemePrimary; cursor.ClearTransforms(); } else { this.MoveTo(new Vector2(position.X - CaretWidth / 2, position.Y), 60, Easing.Out); this.ResizeWidthTo(CaretWidth, caret_move_time, Easing.Out); cursor.ThemeColour = ThemeColour.Black; cursor .FadeOutFromOne(100, Easing.OutQuint) .Delay(500) .FadeInFromZero(100, Easing.OutQuint) .Loop(500); } }