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

Allow choosing "Edit" from any beatmap carousel item

This commit is contained in:
Dean Herbert
2023-12-19 19:58:49 +09:00
Unverified
parent 1161e0ad0e
commit bbfdd6892d
6 changed files with 19 additions and 10 deletions
@@ -44,6 +44,8 @@ namespace osu.Game.Screens.Select.Carousel
private Task? beatmapsLoadTask;
private MenuItem[]? mainMenuItems;
[Resolved]
private BeatmapManager manager { get; set; } = null!;
@@ -57,8 +59,11 @@ namespace osu.Game.Screens.Select.Carousel
}
[BackgroundDependencyLoader]
private void load(BeatmapSetOverlay? beatmapOverlay)
private void load(BeatmapSetOverlay? beatmapOverlay, SongSelect? songSelect)
{
if (songSelect != null)
mainMenuItems = songSelect.CreateForwardNavigationMenuItemsForBeatmap(() => (((CarouselBeatmapSet)Item!).GetNextToSelect() as CarouselBeatmap)!.BeatmapInfo);
restoreHiddenRequested = s =>
{
foreach (var b in s.Beatmaps)
@@ -222,6 +227,9 @@ namespace osu.Game.Screens.Select.Carousel
if (Item?.State.Value == CarouselItemState.NotSelected)
items.Add(new OsuMenuItem("Expand", MenuItemType.Highlighted, () => Item.State.Value = CarouselItemState.Selected));
if (mainMenuItems != null)
items.AddRange(mainMenuItems);
if (beatmapSet.OnlineID > 0 && viewDetails != null)
items.Add(new OsuMenuItem("Details...", MenuItemType.Standard, () => viewDetails(beatmapSet.OnlineID)));