mirror of
https://github.com/ppy/osu.git
synced 2025-01-15 14:53:01 +08:00
In the case of only one playlist item, update with current selection on select
This commit is contained in:
parent
da68ae5461
commit
637c1dc840
@ -42,8 +42,16 @@ namespace osu.Game.Screens.Select
|
|||||||
|
|
||||||
protected override bool OnStart()
|
protected override bool OnStart()
|
||||||
{
|
{
|
||||||
if (Playlist.Count == 0)
|
switch (Playlist.Count)
|
||||||
createNewItem();
|
{
|
||||||
|
case 0:
|
||||||
|
createNewItem();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
populateItemFromCurrent(Playlist.Single());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
this.Exit();
|
this.Exit();
|
||||||
|
|
||||||
@ -55,13 +63,20 @@ namespace osu.Game.Screens.Select
|
|||||||
PlaylistItem item = new PlaylistItem
|
PlaylistItem item = new PlaylistItem
|
||||||
{
|
{
|
||||||
ID = (Playlist.LastOrDefault()?.ID + 1) ?? 0,
|
ID = (Playlist.LastOrDefault()?.ID + 1) ?? 0,
|
||||||
Beatmap = { Value = Beatmap.Value.BeatmapInfo },
|
|
||||||
Ruleset = { Value = Ruleset.Value }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
item.RequiredMods.AddRange(Mods.Value);
|
populateItemFromCurrent(item);
|
||||||
|
|
||||||
Playlist.Add(item);
|
Playlist.Add(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void populateItemFromCurrent(PlaylistItem item)
|
||||||
|
{
|
||||||
|
item.Beatmap.Value = Beatmap.Value.BeatmapInfo;
|
||||||
|
item.Ruleset.Value = Ruleset.Value;
|
||||||
|
|
||||||
|
item.RequiredMods.Clear();
|
||||||
|
item.RequiredMods.AddRange(Mods.Value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user