Pass whole queue in rather than function

This commit is contained in:
Dean Herbert
2021-10-01 01:46:37 +09:00
parent 27c4f2b06e
commit 2ed28f625a
2 changed files with 8 additions and 9 deletions

View File

@ -55,10 +55,9 @@ namespace osu.Game.Beatmaps
public IBindable<WeakReference<BeatmapInfo>> BeatmapRestored => beatmapRestored;
/// <summary>
/// A function which populates online information during the import process.
/// It is run as the final step of import.
/// An online lookup queue component which handles populating online beatmap metadata.
/// </summary>
public Func<BeatmapSetInfo, CancellationToken, Task> PopulateOnlineInformation;
public BeatmapOnlineLookupQueue OnlineLookupQueue { private get; set; }
private readonly Bindable<WeakReference<BeatmapInfo>> beatmapRestored = new Bindable<WeakReference<BeatmapInfo>>();
@ -156,8 +155,8 @@ namespace osu.Game.Beatmaps
bool hadOnlineBeatmapIDs = beatmapSet.Beatmaps.Any(b => b.OnlineBeatmapID > 0);
if (PopulateOnlineInformation != null)
await PopulateOnlineInformation(beatmapSet, cancellationToken).ConfigureAwait(false);
if (OnlineLookupQueue != null)
await OnlineLookupQueue.UpdateAsync(beatmapSet, cancellationToken).ConfigureAwait(false);
// ensure at least one beatmap was able to retrieve or keep an online ID, else drop the set ID.
if (hadOnlineBeatmapIDs && !beatmapSet.Beatmaps.Any(b => b.OnlineBeatmapID > 0))