コード例 #1
0
        protected override void DidActivate(bool firstActivation, ActivationType activationType)
        {
            if (firstActivation && activationType == ActivationType.AddedToHierarchy)
            {
                title = "Playlists";

                _playlistsNavigationController.didFinishEvent += _playlistsNavigationController_didFinishEvent;

                _playlistListViewController = BeatSaberUI.CreateViewController <PlaylistListViewController>();
                _playlistListViewController.didSelectRow += _playlistListViewController_didSelectRow;

                _playlistDetailViewController.downloadButtonPressed += _playlistDetailViewController_downloadButtonPressed;
                _playlistDetailViewController.selectButtonPressed   += _playlistDetailViewController_selectButtonPressed;
                _playlistDetailViewController.SetSelectButtonText("Select");

                _downloadQueueViewController = BeatSaberUI.CreateViewController <DownloadQueueViewController>();

                SetViewControllersToNavigationConctroller(_playlistsNavigationController, new VRUIViewController[]
                {
                    _playlistListViewController
                });

                ProvideInitialViewControllers(_playlistsNavigationController, _downloadQueueViewController, null);
            }
            _downloadingPlaylist = false;
            _playlistListViewController.SetContent(PlaylistsCollection.loadedPlaylists);

            _downloadQueueViewController.allSongsDownloaded += _downloadQueueViewController_allSongsDownloaded;
        }
コード例 #2
0
        public IEnumerator GetPlaylists()
        {
            yield return(null);

            _loadingIndicator.SetActive(true);
            _playlistsListViewController.SetContent(null);

            UnityWebRequest www = UnityWebRequest.Get(playlistAPI_URL);

            www.timeout = 15;
            yield return(www.SendWebRequest());

            if (www.isNetworkError || www.isHttpError)
            {
                Logger.Error($"Unable to connect to BeastSaber playlist API! " + (www.isNetworkError ? $"Network error: {www.error}" : (www.isHttpError ? $"HTTP error: {www.error}" : "Unknown error")));
                _loadingIndicator.SetActive(false);
            }
            else
            {
                try
                {
                    JSONNode node = JSON.Parse(www.downloadHandler.text);

                    playlists.Clear();

                    for (int i = 0; i < node.Count; i++)
                    {
                        playlists.Add(new Playlist(node[i]));
                    }


                    _loadingIndicator.SetActive(false);
                    _playlistsListViewController.SetContent(playlists);
                }
                catch (Exception e)
                {
                    Logger.Exception("Unable to parse response! Exception: " + e);
                    _loadingIndicator.SetActive(false);
                }
            }
        }
コード例 #3
0
        protected override void DidActivate(bool firstActivation, ActivationType activationType)
        {
            if (firstActivation)
            {
                title = "Playlists";

                _playlistListViewController = BeatSaberUI.CreateViewController <PlaylistListViewController>();
                _playlistListViewController.didSelectRow += _playlistListViewController_didSelectRow;

                _downloadQueueViewController = BeatSaberUI.CreateViewController <DownloadQueueViewController>();

                SetViewControllersToNavigationConctroller(_playlistsNavigationController, new VRUIViewController[]
                {
                    _playlistListViewController
                });

                ProvideInitialViewControllers(_playlistsNavigationController, _downloadQueueViewController, null);
            }
            _downloadingPlaylist = false;
            _playlistListViewController.SetContent(PlaylistsCollection.loadedPlaylists);

            _downloadQueueViewController.allSongsDownloaded += _downloadQueueViewController_allSongsDownloaded;
        }