Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }