1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-18 20:30:27 +08:00

Avoid passing the same thing three times

This commit is contained in:
Bartłomiej Dach
2025-09-29 09:31:50 +02:00
Unverified
parent 6ac4f482ee
commit 9dc79e6f0d
3 changed files with 7 additions and 7 deletions
@@ -3,7 +3,6 @@
using System;
using NUnit.Framework;
using osu.Framework.Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Game.Beatmaps;
@@ -120,21 +119,21 @@ namespace osu.Game.Tests.Visual.SongSelectV2
{
new PanelGroupRankDisplay
{
Item = new CarouselItem(new RankDisplayGroupDefinition(0, $"{rank.GetDescription()}", rank))
Item = new CarouselItem(new RankDisplayGroupDefinition(rank))
},
new PanelGroupRankDisplay
{
Item = new CarouselItem(new RankDisplayGroupDefinition(1, $"{rank.GetDescription()}", rank)),
Item = new CarouselItem(new RankDisplayGroupDefinition(rank)),
KeyboardSelected = { Value = true },
},
new PanelGroupRankDisplay
{
Item = new CarouselItem(new RankDisplayGroupDefinition(2, $"{rank.GetDescription()}", rank)),
Item = new CarouselItem(new RankDisplayGroupDefinition(rank)),
Expanded = { Value = true },
},
new PanelGroupRankDisplay
{
Item = new CarouselItem(new RankDisplayGroupDefinition(3, $"{rank.GetDescription()}", rank)),
Item = new CarouselItem(new RankDisplayGroupDefinition(rank)),
Expanded = { Value = true },
KeyboardSelected = { Value = true },
},
+2 -1
View File
@@ -13,6 +13,7 @@ using osu.Framework.Allocation;
using osu.Framework.Audio;
using osu.Framework.Audio.Sample;
using osu.Framework.Bindables;
using osu.Framework.Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Pooling;
@@ -1093,7 +1094,7 @@ namespace osu.Game.Screens.SelectV2
/// <summary>
/// Defines a grouping header for a set of carousel items grouped by achieved rank.
/// </summary>
public record RankDisplayGroupDefinition(int Order, string Title, ScoreRank Rank) : GroupDefinition(Order, Title);
public record RankDisplayGroupDefinition(ScoreRank Rank) : GroupDefinition(-(int)Rank, Rank.GetDescription());
/// <summary>
/// Used to represent a portion of a <see cref="BeatmapSetInfo"/> under a <see cref="GroupDefinition"/>.
@@ -433,7 +433,7 @@ namespace osu.Game.Screens.SelectV2
private IEnumerable<GroupDefinition> defineGroupByRankAchieved(BeatmapInfo beatmap, IReadOnlyDictionary<Guid, ScoreRank> topRankMapping)
{
if (topRankMapping.TryGetValue(beatmap.ID, out var rank))
return new RankDisplayGroupDefinition(-(int)rank, rank.GetDescription(), rank).Yield();
return new RankDisplayGroupDefinition(rank).Yield();
return new GroupDefinition(int.MaxValue, "Unplayed").Yield();
}