Fix several schedule-related issues arising from new column addition

This commit is contained in:
Bartłomiej Dach
2022-08-15 20:34:09 +02:00
parent 5ff2e41a55
commit f860bc11ee
2 changed files with 18 additions and 2 deletions

View File

@ -66,7 +66,10 @@ namespace osu.Game.Overlays.Mods
private IModHotkeyHandler hotkeyHandler = null!;
private Task? latestLoadTask;
internal bool ItemsLoaded => latestLoadTask?.IsCompleted == true;
private bool itemsLoaded;
internal bool ItemsLoaded => latestLoadTask?.IsCompleted == true && itemsLoaded;
public override bool IsPresent => base.IsPresent || Scheduler.HasPendingTasks;
public ModColumn(ModType modType, bool allowIncompatibleSelection)
{
@ -132,10 +135,12 @@ namespace osu.Game.Overlays.Mods
var panels = availableMods.Select(mod => CreateModPanel(mod).With(panel => panel.Shear = Vector2.Zero));
itemsLoaded = false;
latestLoadTask = LoadComponentsAsync(panels, loaded =>
{
ItemsFlow.ChildrenEnumerable = loaded;
updateState();
itemsLoaded = true;
}, (cancellationTokenSource = new CancellationTokenSource()).Token);
}