private void AddModMenuButton() { try { _rightScreen = ReflectionUtil.GetPrivateField <VRUIViewController>(_mainMenuViewController, "_releaseInfoViewController"); _rightPos = _rightScreen.gameObject.transform as RectTransform; var modMenuButton = CreateButton(_rightPos); SetButtonText(ref modMenuButton, "Mod Menu"); SetButtonIcon(ref modMenuButton, Icons.First(x => x.name == "SettingsIcon")); if (modMenuButton == null) { ModMenuPlugin.debugLogger.Exception("Mod menu button returned as null"); return; } // Change button text and add listener modMenuButton.onClick.AddListener(delegate { try { ModMenuPlugin.debugLogger.Log("Mod menu pressed"); if (_modMenuController == null) { _modMenuController = CreateViewController <ModMenuMasterViewController>(); } _rightScreen.PresentModalViewController(_modMenuController, null); ModMenuPlugin.debugLogger.Log("Mod menu setup finished"); //DELETE POSSIBLE DIFFICULTY TEXT var modlisttemp = GameObject.FindObjectOfType <ModsListViewController>(); if (modlisttemp != null) { var textmeshs = modlisttemp.gameObject.GetComponentsInChildren <TextMeshProUGUI>(); foreach (TextMeshProUGUI textmesh in textmeshs) { ModMenuPlugin.debugLogger.Log(textmesh.rectTransform.parent.gameObject.name); if (textmesh.rectTransform.parent.name == "DifficultyTableCell(Clone)") { DestroyImmediate(textmesh.rectTransform.parent.gameObject); } } } } catch (Exception ex) { ModMenuPlugin.debugLogger.Exception(ex.StackTrace + ex.Message); } }); } catch (Exception ex) { ModMenuPlugin.debugLogger.Exception(ex.StackTrace + ex.Message); } }
private void AddCustomSaberButton() { _rightScreen = ReflectionUtil.GetPrivateField <VRUIViewController>(_mainMenuViewController, "_releaseInfoViewController"); _rightPos = _rightScreen.rectTransform; var customSaberButton = CreateButton(_rightPos); if (customSaberButton == null) { return; } SetButtonText(ref customSaberButton, "Saber Menu"); customSaberButton.onClick.AddListener(delegate { if (_sabersMasterViewController == null) { _sabersMasterViewController = CreateViewController <CustomSaberMasterViewController>(); } _rightScreen.PresentModalViewController(_sabersMasterViewController, null); }); }
private void AddModMenuButton() { try { _rightScreen = ReflectionUtil.GetPrivateField <VRUIViewController>(_mainMenuViewController, "_releaseInfoViewController"); _rightPos = _rightScreen.gameObject.transform as RectTransform; var modMenuButton = CreateButton(_rightPos); SetButtonText(ref modMenuButton, "Saber Menu"); SetButtonIcon(ref modMenuButton, Icons.First(x => x.name == "SingleSaberIcon")); if (modMenuButton == null) { return; } // Change button text and add listener modMenuButton.onClick.AddListener(delegate { try { if (_modMenuController == null) { _modMenuController = CreateViewController <ModMenuMasterViewController>(); } try { } catch (Exception e) { Console.WriteLine(e.ToString()); throw; } _rightScreen.PresentModalViewController(_modMenuController, null); //DELETE POSSIBLE DIFFICULTY TEXT var modlisttemp = GameObject.FindObjectOfType <ModsListViewController>(); if (modlisttemp != null) { var textmeshs = modlisttemp.gameObject.GetComponentsInChildren <TextMeshProUGUI>(); foreach (TextMeshProUGUI textmesh in textmeshs) { if (textmesh.rectTransform.parent.name == "DifficultyTableCell(Clone)") { DestroyImmediate(textmesh.rectTransform.parent.gameObject); } } } } catch (Exception ex) { } }); } catch (Exception ex) { } }
public void Present(VRUIViewController parentViewController, bool fromDebug) { _ui = TwitchIntegrationUi.Instance; _logger = LogManager.GetCurrentClassLogger(); try { _menuSceneSetupData = Resources.FindObjectsOfTypeAll <MenuSceneSetupData>().First(); _mainGameSceneSetupData = Resources.FindObjectsOfTypeAll <MainGameSceneSetupData>().First(); _resultsFlowCoordinator = Resources.FindObjectsOfTypeAll <ResultsFlowCoordinator>().First(); if (_levelRequestNavigationController == null) { _levelRequestNavigationController = _ui.CreateViewController <LevelRequestNavigationController>("LevelRequestNavController"); } if (_requestInfoViewController == null) { _requestInfoViewController = _ui.CreateViewController <RequestInfoViewController>("RequestInfo"); _requestInfoViewController.rectTransform.anchorMin = new Vector2(0.3f, 0f); _requestInfoViewController.rectTransform.anchorMax = new Vector2(0.7f, 1f); } _levelDifficultyViewController = Resources.FindObjectsOfTypeAll <StandardLevelDifficultyViewController>().First(); _levelDetailViewController = Resources.FindObjectsOfTypeAll <StandardLevelDetailViewController>().First(); } catch (Exception e) { _logger.Error("Unable to load UI components: " + e); return; } if (!_initialized) { DidFinishEvent += Finish; _levelRequestNavigationController.DidFinishEvent += HandleLevelRequestNavigationControllerDidfinish; _levelDifficultyViewController.didSelectDifficultyEvent += HandleDifficultyViewControllerDidSelectDifficulty; _levelDetailViewController.didPressPlayButtonEvent += HandleDetailViewControllerDidPressPlayButton; _requestInfoViewController.DownloadButtonpressed += HandleDidPressDownloadButton; _requestInfoViewController.SkipButtonPressed += HandleDidPressSkipButton; _initialized = true; } //_levelRequestNavigationController.Init(); parentViewController.PresentModalViewController(_levelRequestNavigationController, null, StaticData.DidStartFromQueue); _requestInfoViewController.Init("Default Song Name", "Default User"); _levelRequestNavigationController.PushViewController(_requestInfoViewController, true); if (!fromDebug) { return; //Loading song preview arrests control from the results controller, causing it to display improperly. } CheckQueueAndUpdate(); }