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); } }
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")); }
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; }
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); } }