protected override void ShowMore() { base.ShowMore(); request = new GetUserBeatmapsRequest(User.Value.Id, type, VisiblePages++ *ItemsPerPage); request.Success += sets => Schedule(() => { ShowMoreButton.FadeTo(sets.Count == ItemsPerPage ? 1 : 0); ShowMoreLoading.Hide(); if (!sets.Any() && VisiblePages == 1) { MissingText.Show(); return; } foreach (var s in sets) { if (!s.OnlineBeatmapSetID.HasValue) { continue; } var panel = new DirectGridPanel(s.ToBeatmapSet(Rulesets)); ItemsContainer.Add(panel); } }); Api.Queue(request); }
private void loadNewPanel(BeatmapInfo beatmap) { loadCancellation?.Cancel(); request?.Cancel(); panel?.FadeOut(200); panel?.Expire(); panel = null; if (beatmap?.OnlineBeatmapID == null) { return; } loadCancellation = new CancellationTokenSource(); request = new GetBeatmapSetRequest(beatmap.OnlineBeatmapID.Value, BeatmapSetLookupType.BeatmapId); request.Success += res => Schedule(() => { panel = new DirectGridPanel(res.ToBeatmapSet(rulesets)); LoadComponentAsync(panel, AddInternal, loadCancellation.Token); }); api.Queue(request); }
protected override void ShowMore() { base.ShowMore(); var req = new GetUserBeatmapsRequest(User.Value.Id, type, VisiblePages++ *ItemsPerPage); req.Success += sets => { ShowMoreButton.FadeTo(sets.Count == ItemsPerPage ? 1 : 0); ShowMoreLoading.Hide(); if (!sets.Any()) { MissingText.Show(); return; } foreach (var s in sets) { if (!s.OnlineBeatmapSetID.HasValue) { continue; } var panel = new DirectGridPanel(s.ToBeatmapSet(Rulesets)); ItemsContainer.Add(panel); panel.PreviewPlaying.ValueChanged += isPlaying => { if (!isPlaying) { return; } if (currentlyPlaying != null && currentlyPlaying != panel) { currentlyPlaying.PreviewPlaying.Value = false; } currentlyPlaying = panel; }; } }; Api.Queue(req); }