mirror of
https://github.com/osukey/osukey.git
synced 2025-06-29 23:28:00 +09: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>()
|
realmSubscription = realm.RegisterForNotifications(_ => realm.Realm.All<SkinInfo>()
|
||||||
.Where(s => !s.DeletePending)
|
.Where(s => !s.DeletePending)
|
||||||
.OrderByDescending(s => s.Protected) // protected skins should be at the top.
|
.OrderBy(s => s.Name, StringComparer.OrdinalIgnoreCase), skinsChanged);
|
||||||
.ThenBy(s => s.Name, StringComparer.OrdinalIgnoreCase), skinsChanged);
|
|
||||||
|
|
||||||
skinDropdown.Current.BindValueChanged(skin =>
|
skinDropdown.Current.BindValueChanged(skin =>
|
||||||
{
|
{
|
||||||
@ -101,14 +100,17 @@ namespace osu.Game.Overlays.Settings.Sections
|
|||||||
if (!sender.Any())
|
if (!sender.Any())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
int protectedCount = sender.Count(s => s.Protected);
|
|
||||||
|
|
||||||
// For simplicity repopulate the full list.
|
// For simplicity repopulate the full list.
|
||||||
// In the future we should change this to properly handle ChangeSet events.
|
// In the future we should change this to properly handle ChangeSet events.
|
||||||
dropdownItems.Clear();
|
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.Add(skin.ToLive(realm));
|
||||||
dropdownItems.Insert(protectedCount, random_skin_info);
|
|
||||||
|
|
||||||
Schedule(() => skinDropdown.Items = dropdownItems);
|
Schedule(() => skinDropdown.Items = dropdownItems);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user