mirror of
https://github.com/ppy/osu.git
synced 2025-01-28 06:42:54 +08:00
Explicitly order default skins in dropdown to get correct order
This commit is contained in:
parent
1b475f9360
commit
1c4e02fae8
@ -78,8 +78,7 @@ namespace osu.Game.Overlays.Settings.Sections
|
||||
|
||||
realmSubscription = realm.RegisterForNotifications(_ => realm.Realm.All<SkinInfo>()
|
||||
.Where(s => !s.DeletePending)
|
||||
.OrderByDescending(s => s.Protected) // protected skins should be at the top.
|
||||
.ThenBy(s => s.Name, StringComparer.OrdinalIgnoreCase), skinsChanged);
|
||||
.OrderBy(s => s.Name, StringComparer.OrdinalIgnoreCase), skinsChanged);
|
||||
|
||||
skinDropdown.Current.BindValueChanged(skin =>
|
||||
{
|
||||
@ -101,14 +100,17 @@ namespace osu.Game.Overlays.Settings.Sections
|
||||
if (!sender.Any())
|
||||
return;
|
||||
|
||||
int protectedCount = sender.Count(s => s.Protected);
|
||||
|
||||
// For simplicity repopulate the full list.
|
||||
// In the future we should change this to properly handle ChangeSet events.
|
||||
dropdownItems.Clear();
|
||||
foreach (var skin in sender)
|
||||
|
||||
dropdownItems.Add(sender.Single(s => s.ID == SkinInfo.DEFAULT_SKIN_TRIANGLES).ToLive(realm));
|
||||
dropdownItems.Add(sender.Single(s => s.ID == SkinInfo.CLASSIC_SKIN).ToLive(realm));
|
||||
|
||||
dropdownItems.Add(random_skin_info);
|
||||
|
||||
foreach (var skin in sender.Where(s => !s.Protected))
|
||||
dropdownItems.Add(skin.ToLive(realm));
|
||||
dropdownItems.Insert(protectedCount, random_skin_info);
|
||||
|
||||
Schedule(() => skinDropdown.Items = dropdownItems);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user