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); } }
protected override void DidActivate() { _modMenuUi = FindObjectOfType <ModMenuUi>(); _parentViewController = transform.parent.GetComponent <ModMenuMasterViewController>(); try { _toggleSwitch = Resources.FindObjectsOfTypeAll <UnityEngine.UI.Toggle>().First(); ModMenuPlugin.debugLogger.Log(_toggleSwitch == null ? "Toggle switch null" : "Toggle switch not null!"); if (_pageDownButton == null) { _pageDownButton = _modMenuUi.CreateButton(rectTransform, "PageDownButton"); ((RectTransform)_pageDownButton.transform).anchorMin = new Vector2(0.5f, 0f); ((RectTransform)_pageDownButton.transform).anchorMax = new Vector2(0.5f, 0f); ((RectTransform)_pageDownButton.transform).anchoredPosition = new Vector2(0f, 10f); _pageDownButton.interactable = true; _pageDownButton.onClick.AddListener(delegate() { _modsTableView.PageScrollDown(); ModMenuPlugin.debugLogger.Log("Page down pressed"); }); } if (_pageUpButton == null) { _pageUpButton = _modMenuUi.CreateButton(rectTransform, "PageUpButton"); ((RectTransform)_pageUpButton.transform).anchorMin = new Vector2(0.5f, 1f); ((RectTransform)_pageUpButton.transform).anchorMax = new Vector2(0.5f, 1f); ((RectTransform)_pageUpButton.transform).anchoredPosition = new Vector2(0f, -10f); _pageUpButton.interactable = true; _pageUpButton.onClick.AddListener(delegate() { _modsTableView.PageScrollUp(); ModMenuPlugin.debugLogger.Log("Page up pressed"); }); } } catch (Exception ex) { ModMenuPlugin.debugLogger.Exception(ex.StackTrace + ex.Message); } _songListTableCellInstance = Resources.FindObjectsOfTypeAll <SongListTableCell>().First(x => (x.name == "SongListTableCell")); LoadMods(); base.DidActivate(); }