Ejemplo n.º 1
0
        public void ShowDetails(int row)
        {
            _selectedRow = row;

            if (_songDetailViewController == null)
            {
                _songDetailViewController = Instantiate(Resources.FindObjectsOfTypeAll <SongDetailViewController>().First(), rectTransform, false);

                RefreshDetails(row);

                PushViewController(_songDetailViewController, false);
            }
            else
            {
                if (_viewControllers.IndexOf(_songDetailViewController) < 0)
                {
                    RefreshDetails(row);
                    PushViewController(_songDetailViewController, true);
                }
                else
                {
                    RefreshDetails(row);
                }
            }
        }
        public void Awake()
        {
            if (_moreSongsView == null)
            {
                _moreSongsView                 = BeatSaberUI.CreateViewController <MoreSongsListViewController>();
                _songDetailView                = BeatSaberUI.CreateViewController <SongDetailViewController>();
                _multiSelectDetailView         = BeatSaberUI.CreateViewController <MultiSelectDetailViewController>();
                _moreSongsNavigationcontroller = BeatSaberUI.CreateViewController <NavigationController>();
                _moreSongsView.navController   = _moreSongsNavigationcontroller;
                _songDescriptionView           = BeatSaberUI.CreateViewController <SongDescriptionViewController>();
                _downloadQueueView             = BeatSaberUI.CreateViewController <DownloadQueueViewController>();

                _moreSongsView.didSelectSong                      += HandleDidSelectSong;
                _moreSongsView.filterDidChange                    += HandleFilterDidChange;
                _moreSongsView.multiSelectDidChange               += HandleMultiSelectDidChange;
                _songDetailView.didPressDownload                  += HandleDidPressDownload;
                _songDetailView.didPressUploader                  += HandleDidPressUploader;
                _songDetailView.didPressPreview                   += HandleDidPressPreview;
                _songDetailView.setDescription                    += _songDescriptionView.Initialize;
                _multiSelectDetailView.multiSelectClearPressed    += _moreSongsView.MultiSelectClear;
                _multiSelectDetailView.multiSelectDownloadPressed += HandleMultiSelectDownload;

                AudioSource audioSource = Resources.FindObjectsOfTypeAll <AudioSource>().FirstOrDefault();;
                audioSource.volume = Misc.Preferences.shared.Volume;
                _songPlayer        = new Misc.SongPlayer(audioSource);
            }
        }
Ejemplo n.º 3
0
        void FixedUpdate()
        {
            SongDetailViewController SDVC = Resources.FindObjectsOfTypeAll <SongDetailViewController>().FirstOrDefault();

            if (SDVC != null)
            {
                var diff_selected = ReflectionUtil.GetPrivateField <LevelStaticData.Difficulty>(SDVC, "_difficulty");
                var diff_info     = ReflectionUtil.GetPrivateField <LevelStaticData>(SDVC, "_levelStaticData");
                var diff          = diff_info.GetDifficultyLevel(diff_selected);
                _timeMesh.text = "Diff: " + (float)(diff.difficultyRank) / 100.0f; // can only store ranks as int so we mult by 100 to keep two decimal points, bring them back here
            }
        }
        public void Awake()
        {
            if (_songDetailViewController == null && _moreSongsNavigationController == null)
            {
                _moreSongsNavigationController = BeatSaberUI.CreateViewController <BackButtonNavigationController>();
                _moreSongsNavigationController.didFinishEvent += _moreSongsNavigationController_didFinishEvent;

                GameObject _songDetailGameObject = Instantiate(Resources.FindObjectsOfTypeAll <StandardLevelDetailViewController>().First(), _moreSongsNavigationController.rectTransform, false).gameObject;
                Destroy(_songDetailGameObject.GetComponent <StandardLevelDetailViewController>());
                _songDetailViewController = _songDetailGameObject.AddComponent <SongDetailViewController>();
                _songDetailViewController.downloadButtonPressed += _songDetailViewController_downloadButtonPressed;
                _songDetailViewController.favoriteButtonPressed += _songDetailViewController_favoriteButtonPressed;
            }
        }
        public void Awake()
        {
            if (_moreSongsView == null)
            {
                _moreSongsView  = BeatSaberUI.CreateViewController <MoreSongsListViewController>();
                _songDetailView = BeatSaberUI.CreateViewController <SongDetailViewController>();
                _moreSongsNavigationcontroller = BeatSaberUI.CreateViewController <NavigationController>();
                _moreSongsView.navController   = _moreSongsNavigationcontroller;
                _songDescriptionView           = BeatSaberUI.CreateViewController <SongDescriptionViewController>();
                _downloadQueueView             = BeatSaberUI.CreateViewController <DownloadQueueViewController>();

                _moreSongsView.didSelectSong     += HandleDidSelectSong;
                _moreSongsView.filterDidChange   += HandleFilterDidChange;
                _songDetailView.didPressDownload += HandleDidPressDownload;
                _songDetailView.didPressUploader += HandleDidPressUploader;
            }
        }
        protected override void DidActivate(bool firstActivation, ActivationType activationType)
        {
            if (firstActivation && activationType == ActivationType.AddedToHierarchy)
            {
                title = "More Songs";

                SongDownloader.Instance.songDownloaded += SongDownloader_songDownloaded;

                _moreSongsNavigationController = BeatSaberUI.CreateViewController <BackButtonNavigationController>();
                _moreSongsNavigationController.didFinishEvent += _moreSongsNavigationController_didFinishEvent;

                _moreSongsListViewController = BeatSaberUI.CreateViewController <MoreSongsListViewController>();
                _moreSongsListViewController.pageDownPressed     += _moreSongsListViewController_pageDownPressed;
                _moreSongsListViewController.pageUpPressed       += _moreSongsListViewController_pageUpPressed;
                _moreSongsListViewController.sortByTop           += () => { currentSortMode = "top"; currentPage = 0; StartCoroutine(GetPage(currentPage, currentSortMode)); currentSearchRequest = ""; };
                _moreSongsListViewController.sortByNew           += () => { currentSortMode = "new"; currentPage = 0; StartCoroutine(GetPage(currentPage, currentSortMode)); currentSearchRequest = ""; };
                _moreSongsListViewController.sortByPlays         += () => { currentSortMode = "plays"; currentPage = 0; StartCoroutine(GetPage(currentPage, currentSortMode)); currentSearchRequest = ""; };
                _moreSongsListViewController.searchButtonPressed += _moreSongsListViewController_searchButtonPressed;
                _moreSongsListViewController.didSelectRow        += _moreSongsListViewController_didSelectRow;

                GameObject _songDetailGameObject = Instantiate(Resources.FindObjectsOfTypeAll <StandardLevelDetailViewController>().First(), _moreSongsNavigationController.rectTransform, false).gameObject;
                Destroy(_songDetailGameObject.GetComponent <StandardLevelDetailViewController>());
                _songDetailViewController = _songDetailGameObject.AddComponent <SongDetailViewController>();
                _songDetailViewController.downloadButtonPressed += _songDetailViewController_downloadButtonPressed;
                _songDetailViewController.favoriteButtonPressed += _songDetailViewController_favoriteButtonPressed;;

                _downloadQueueViewController = BeatSaberUI.CreateViewController <DownloadQueueViewController>();

                _simpleDialog = CustomUI.Utilities.ReflectionUtil.GetPrivateField <SimpleDialogPromptViewController>(Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().First(), "_simpleDialogPromptViewController");
                _simpleDialog = Instantiate(_simpleDialog.gameObject, _simpleDialog.transform.parent).GetComponent <SimpleDialogPromptViewController>();
            }

            SetViewControllersToNavigationConctroller(_moreSongsNavigationController, new VRUIViewController[]
            {
                _moreSongsListViewController
            });
            ProvideInitialViewControllers(_moreSongsNavigationController, _downloadQueueViewController, null);

            StartCoroutine(GetPage(0, "top"));
        }
Ejemplo n.º 7
0
        public void Awake()
        {
            if (_moreSongsView != null)
            {
                return;
            }

            _moreSongsView                 = BeatSaberUI.CreateViewController <MoreSongsListViewController>();
            _songDetailView                = BeatSaberUI.CreateViewController <SongDetailViewController>();
            _multiSelectDetailView         = BeatSaberUI.CreateViewController <MultiSelectDetailViewController>();
            _moreSongsNavigationController = BeatSaberUI.CreateViewController <NavigationController>();
            _moreSongsView.NavController   = _moreSongsNavigationController;
            _songDescriptionView           = BeatSaberUI.CreateViewController <SongDescriptionViewController>();
            _downloadQueueView             = BeatSaberUI.CreateViewController <DownloadQueueViewController>();

            _moreSongsView.DidSelectSong                      += HandleDidSelectSong;
            _moreSongsView.FilterDidChange                    += HandleFilterDidChange;
            _moreSongsView.MultiSelectDidChange               += HandleMultiSelectDidChange;
            _songDetailView.didPressDownload                  += HandleDidPressDownload;
            _songDetailView.didPressUploader                  += HandleDidPressUploader;
            _songDetailView.setDescription                    += _songDescriptionView.Initialize;
            _multiSelectDetailView.MultiSelectClearPressed    += _moreSongsView.MultiSelectClear;
            _multiSelectDetailView.MultiSelectDownloadPressed += HandleMultiSelectDownload;
        }
Ejemplo n.º 8
0
        private void SetModDetailsData(SongDetailViewController modDetails, int selectedMod)
        {
            modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "SongNameText").text      = _mods[selectedMod].Name;
            modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "DurationText").text      = "Version";
            modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "DurationValueText").text = _mods[selectedMod].Version;

            try
            {
                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "BPMText").gameObject);
                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "BPMValueText").gameObject);

                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "NotesCountText").gameObject);
                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "NotesCountValueText").gameObject);

                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "ObstaclesCountText").gameObject);
                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "ObstaclesCountValueText").gameObject);

                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "Title").gameObject);

                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "HighScoreText").gameObject);
                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "HighScoreValueText").gameObject);

                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "MaxComboText").gameObject);
                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "MaxComboValueText").gameObject);

                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "MaxRankText").gameObject);
                Destroy(modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "MaxRankValueText").gameObject);

                Destroy(modDetails.GetComponentsInChildren <RectTransform>().First(x => x.name == "YourStats").gameObject);
            }
            catch (Exception e)
            {
                ModMenuPlugin.debugLogger.Warning(e.ToString());
            }
            if (_toggleButton == null)
            {
                _toggleButton = modDetails.GetComponentInChildren <Button>();
            }
            if (_compatibilitytext == null)
            {
                var temp = modDetails.GetComponentsInChildren <TextMeshProUGUI>().First(x => x.name == "DurationText");

                _compatibilitytext = _modMenuUi.CreateTMPText(temp.rectTransform, "a", new Vector2(0.7f, 0.5f));
                // ive tried a lot of stuff im sorry for this horrible solution
                // it's ok ^ - Kaori
                _compatibilitytext.text = "                   This plugin doesnt work with BSMODUI";
            }
            if (_mods[selectedMod].GetPlugin is IModGui)
            {
                //Utils.Log("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                //TODO: IMPLEMENT STUFFS
                _toggleButton.gameObject.SetActive(true);
                _modMenuUi.SetButtonText(ref _toggleButton, "Disable");
                _compatibilitytext.gameObject.SetActive(false);
            }
            else
            {
                _toggleButton.gameObject.SetActive(false);
                _compatibilitytext.gameObject.SetActive(true);
            }
        }