public void Bind(IAtomPlugin plugin, string defaultScreen = null) { _plugin = plugin; _leftPanelPrefabFactory = leftPanel.AddComponent <VamPrefabFactory>(); _leftPanelPrefabFactory.plugin = plugin; _controlPanel = CreateControlPanel(leftPanel); _controlPanel.Bind(plugin); InitClipboardUI(); InitChangeCurveTypeUI(); _curves = InitCurvesUI(); tabs.Add(AnimationsScreen.ScreenName); tabs.Add(TargetsScreen.ScreenName); tabs.Add(EditAnimationScreen.ScreenName); tabs.Add(MoreScreen.ScreenName); _expandButton = tabs.Add("Collapse >"); InitToggleRightPanelButton(_expandButton); tabs.onTabSelected.AddListener(screenName => { screensManager.ChangeScreen(screenName); Expand(true); }); screensManager = InitScreensManager(rightPanel); screensManager.onScreenChanged.AddListener(screenName => tabs.Select(screenName)); screensManager.Bind(plugin, defaultScreen); }
private void InitControlPanelUI(bool rightSide) { var controlPanelContainer = _plugin.CreateSpacer(rightSide); controlPanelContainer.height = 500f; _controlPanel = controlPanelContainer.gameObject.AddComponent <AnimationControlPanel>(); _controlPanel.Bind(_plugin); }
private void DestroyControllerPanel() { if (_controllerInjectedControlerPanel == null) { return; } _controllerInjectedControlerPanel.gameObject.transform.SetParent(null, false); Destroy(_controllerInjectedControlerPanel.gameObject); _controllerInjectedControlerPanel = null; }
public void VamTimelineRequestControlPanelInjection(GameObject container) { _controllerInjectedControlerPanel = container.GetComponent <AnimationControlPanel>(); if (_controllerInjectedControlerPanel == null) { _controllerInjectedControlerPanel = container.AddComponent <AnimationControlPanel>(); _controllerInjectedControlerPanel.Bind(this); } _controllerInjectedControlerPanel.Bind(animation); }
private AnimationControlPanel CreateControlPanel(GameObject panel) { var go = new GameObject(); go.transform.SetParent(panel.transform, false); var layout = go.AddComponent <LayoutElement>(); layout.flexibleHeight = 100f; return(AnimationControlPanel.Configure(go)); }