mirror of
https://github.com/osukey/osukey.git
synced 2025-07-02 08:49:59 +09:00
Simplify menu item checks (and add for other items)
This commit is contained in:
@ -41,9 +41,6 @@ namespace osu.Game.Screens.Select.Carousel
|
|||||||
[Resolved(CanBeNull = true)]
|
[Resolved(CanBeNull = true)]
|
||||||
private BeatmapSetOverlay beatmapOverlay { get; set; }
|
private BeatmapSetOverlay beatmapOverlay { get; set; }
|
||||||
|
|
||||||
[Resolved(CanBeNull = true)]
|
|
||||||
private SongSelect songSelect { get; set; }
|
|
||||||
|
|
||||||
public DrawableCarouselBeatmap(CarouselBeatmap panel)
|
public DrawableCarouselBeatmap(CarouselBeatmap panel)
|
||||||
: base(panel)
|
: base(panel)
|
||||||
{
|
{
|
||||||
@ -52,11 +49,12 @@ namespace osu.Game.Screens.Select.Carousel
|
|||||||
}
|
}
|
||||||
|
|
||||||
[BackgroundDependencyLoader(true)]
|
[BackgroundDependencyLoader(true)]
|
||||||
private void load(BeatmapManager manager)
|
private void load(BeatmapManager manager, SongSelect songSelect)
|
||||||
{
|
{
|
||||||
if (songSelect != null)
|
if (songSelect != null)
|
||||||
{
|
{
|
||||||
startRequested = b => songSelect.FinaliseSelection(b);
|
startRequested = b => songSelect.FinaliseSelection(b);
|
||||||
|
if (songSelect.AllowEditing)
|
||||||
editRequested = songSelect.Edit;
|
editRequested = songSelect.Edit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -190,18 +188,19 @@ namespace osu.Game.Screens.Select.Carousel
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
List<MenuItem> items = new List<MenuItem>
|
List<MenuItem> items = new List<MenuItem>();
|
||||||
{
|
|
||||||
new OsuMenuItem("Play", MenuItemType.Highlighted, () => startRequested?.Invoke(beatmap)),
|
|
||||||
};
|
|
||||||
|
|
||||||
if (songSelect.AllowEditing)
|
if (startRequested != null)
|
||||||
items.Add(new OsuMenuItem("Edit", MenuItemType.Standard, () => editRequested?.Invoke(beatmap)));
|
items.Add(new OsuMenuItem("Play", MenuItemType.Highlighted, () => startRequested(beatmap)));
|
||||||
|
|
||||||
items.Add(new OsuMenuItem("Hide", MenuItemType.Destructive, () => hideRequested?.Invoke(beatmap)));
|
if (editRequested != null)
|
||||||
|
items.Add(new OsuMenuItem("Edit", MenuItemType.Standard, () => editRequested(beatmap)));
|
||||||
|
|
||||||
if (beatmap.OnlineBeatmapID.HasValue)
|
if (hideRequested != null)
|
||||||
items.Add(new OsuMenuItem("Details", MenuItemType.Standard, () => beatmapOverlay?.FetchAndShowBeatmap(beatmap.OnlineBeatmapID.Value)));
|
items.Add(new OsuMenuItem("Hide", MenuItemType.Destructive, () => hideRequested(beatmap)));
|
||||||
|
|
||||||
|
if (beatmap.OnlineBeatmapID.HasValue && beatmapOverlay != null)
|
||||||
|
items.Add(new OsuMenuItem("Details", MenuItemType.Standard, () => beatmapOverlay.FetchAndShowBeatmap(beatmap.OnlineBeatmapID.Value)));
|
||||||
|
|
||||||
return items.ToArray();
|
return items.ToArray();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user