1
0
mirror of https://github.com/ppy/osu.git synced 2026-06-01 03:19:55 +08:00

Fix mod icons in ModSelect being loaded in a blocking fashion

This commit is contained in:
Dean Herbert
2019-06-20 23:06:07 +09:00
Unverified
parent 35ce032be1
commit 52ca5f9c00
+6 -1
View File
@@ -10,6 +10,7 @@ using osu.Game.Rulesets.Mods;
using System;
using System.Linq;
using System.Collections.Generic;
using System.Threading;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
@@ -33,6 +34,8 @@ namespace osu.Game.Overlays.Mods
public IEnumerable<Mod> SelectedMods => buttons.Select(b => b.SelectedMod).Where(m => m != null);
private CancellationTokenSource modsLoadCts;
public IEnumerable<Mod> Mods
{
set
@@ -48,7 +51,9 @@ namespace osu.Game.Overlays.Mods
};
}).ToArray();
ButtonsContainer.Children = modContainers;
modsLoadCts?.Cancel();
LoadComponentsAsync(modContainers, c => ButtonsContainer.ChildrenEnumerable = c, (modsLoadCts = new CancellationTokenSource()).Token);
buttons = modContainers.OfType<ModButton>().ToArray();
if (value.Any())