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); }); }
protected override void DidActivate(bool firstActivation, ActivationType activationType) { previewparent = Instantiate(new GameObject("preview parent")); previewparent.transform.position = new Vector3(2.5f, 1, 0.3f); previewparent.transform.Rotate(new Vector3(0, -30, 0)); _customSaberUI = CustomSaberUI.Instance; _parentViewController = GetComponentInParent <CustomSaberMasterViewController>(); try { if (_pageDownButton == null) { try { _pageDownButton = _customSaberUI.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() { _sabersTableView.PageScrollDown(); }); } catch (Exception e) { Console.WriteLine(e); throw; } } if (_pageUpButton == null) { try { _pageUpButton = _customSaberUI.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, -14f); _pageUpButton.interactable = true; _pageUpButton.onClick.AddListener(delegate() { _sabersTableView.PageScrollUp(); }); } catch (Exception e) { Console.WriteLine(e); throw; } } if (_sabersTableView == null) { _sabersTableView = new GameObject().AddComponent <TableView>(); _sabersTableView.transform.SetParent(rectTransform, false); var viewportMask = Instantiate(Resources.FindObjectsOfTypeAll <Mask>().First(), _sabersTableView.transform, false); viewportMask.transform.DetachChildren(); _sabersTableView.GetComponentsInChildren <RectTransform>().First(x => x.name == "Content").transform.SetParent(viewportMask.rectTransform, false); ((RectTransform)_sabersTableView.transform).anchorMin = new Vector2(0f, 0.5f); ((RectTransform)_sabersTableView.transform).anchorMax = new Vector2(1f, 0.5f); ((RectTransform)_sabersTableView.transform).sizeDelta = new Vector2(0f, 60f); ((RectTransform)_sabersTableView.transform).anchoredPosition = new Vector2(0f, 0f); _sabersTableView.didSelectRowEvent += _sabersTableView_DidSelectRowEvent; ReflectionUtil.SetPrivateField(_sabersTableView, "_pageUpButton", _pageUpButton); ReflectionUtil.SetPrivateField(_sabersTableView, "_pageDownButton", _pageDownButton); _sabersTableView.dataSource = this; _sabersTableView.ScrollToRow(0, false); } else { _sabersTableView.ReloadData(); _sabersTableView.ScrollToRow(0, false); } } catch (Exception ex) { Console.WriteLine(ex); } _songListTableCellInstance = Resources.FindObjectsOfTypeAll <StandardLevelListTableCell>().First(x => (x.name == "StandardLevelListTableCell")); LoadSabers(); base.DidActivate(true, ActivationType.AddedToHierarchy); }