private void InitTabs() { var screens = new[] { EditScreen.ScreenName, BulkScreen.ScreenName, MoreScreen.ScreenName, PerformanceScreen.ScreenName }; var tabsContainer = _plugin.CreateSpacer(true); tabsContainer.height = 60f; var group = tabsContainer.gameObject.AddComponent <GridLayoutGroup>(); group.constraint = GridLayoutGroup.Constraint.Flexible; group.constraintCount = screens.Length; group.spacing = Vector2.zero; group.cellSize = new Vector2(512f / 4f, 50f); group.childAlignment = TextAnchor.MiddleCenter; foreach (var screen in screens) { var changeTo = screen; var btn = UnityEngine.Object.Instantiate(_plugin.manager.configurableButtonPrefab).GetComponent <UIDynamicButton>(); btn.gameObject.transform.SetParent(group.transform, false); btn.label = changeTo; btn.button.onClick.AddListener(() => { ChangeScreen(changeTo); }); _screenChanged.AddListener(() => { var selected = _currentScreen == changeTo; btn.button.interactable = !selected; }); } }
protected void InitClipboardUI(bool rightSide) { var container = plugin.CreateSpacer(rightSide); RegisterComponent(container); container.height = 60f; var group = container.gameObject.AddComponent <GridLayoutGroup>(); group.constraint = GridLayoutGroup.Constraint.Flexible; group.constraintCount = 3; group.spacing = Vector2.zero; group.cellSize = new Vector2(512f / 3f, 50f); group.childAlignment = TextAnchor.MiddleCenter; { var btn = UnityEngine.Object.Instantiate(plugin.manager.configurableButtonPrefab).GetComponent <UIDynamicButton>(); btn.gameObject.transform.SetParent(group.transform, false); btn.label = "Cut"; btn.button.onClick.AddListener(() => plugin.cutJSON.actionCallback()); } { var btn = UnityEngine.Object.Instantiate(plugin.manager.configurableButtonPrefab).GetComponent <UIDynamicButton>(); btn.gameObject.transform.SetParent(group.transform, false); btn.label = "Copy"; btn.button.onClick.AddListener(() => plugin.copyJSON.actionCallback()); } { var btn = UnityEngine.Object.Instantiate(plugin.manager.configurableButtonPrefab).GetComponent <UIDynamicButton>(); btn.gameObject.transform.SetParent(group.transform, false); btn.label = "Paste"; btn.button.onClick.AddListener(() => plugin.pasteJSON.actionCallback()); } }