diff --git a/osu.Game/Overlays/Mods/ModPresetTooltip.cs b/osu.Game/Overlays/Mods/ModPresetTooltip.cs index 077bd14751..501b56e2fd 100644 --- a/osu.Game/Overlays/Mods/ModPresetTooltip.cs +++ b/osu.Game/Overlays/Mods/ModPresetTooltip.cs @@ -6,6 +6,8 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Cursor; using osu.Framework.Graphics.Shapes; +using osu.Game.Graphics; +using osu.Game.Graphics.Sprites; using osu.Game.Rulesets.Mods; using osuTK; @@ -17,6 +19,8 @@ namespace osu.Game.Overlays.Mods private const double transition_duration = 200; + private readonly OsuSpriteText descriptionText; + public ModPresetTooltip(OverlayColourProvider colourProvider) { Width = 250; @@ -37,7 +41,15 @@ namespace osu.Game.Overlays.Mods RelativeSizeAxes = Axes.X, AutoSizeAxes = Axes.Y, Padding = new MarginPadding(7), - Spacing = new Vector2(7) + Spacing = new Vector2(7), + Children = new[] + { + descriptionText = new OsuSpriteText + { + Font = OsuFont.GetFont(weight: FontWeight.Regular), + Colour = colourProvider.Content2, + }, + } } }; } @@ -49,8 +61,12 @@ namespace osu.Game.Overlays.Mods if (ReferenceEquals(preset, lastPreset)) return; + descriptionText.Text = preset.Description; + lastPreset = preset; - Content.ChildrenEnumerable = preset.Mods.AsOrdered().Select(mod => new ModPresetRow(mod)); + + Content.RemoveAll(d => d is ModPresetRow, true); + Content.AddRange(preset.Mods.AsOrdered().Select(mod => new ModPresetRow(mod))); } protected override void PopIn() => this.FadeIn(transition_duration, Easing.OutQuint);