Beispiel #1
0
        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();
        }