public BuilderLibrary( BuilderPaneWindow paneWindow, BuilderViewport viewport, BuilderSelection selection, BuilderLibraryDragger dragger, BuilderTooltipPreview tooltipPreview) { m_PaneWindow = paneWindow; m_DocumentElement = viewport.documentElement; m_Selection = selection; m_Dragger = dragger; m_TooltipPreview = tooltipPreview; viewDataKey = "unity-ui-builder-library"; // Load styles. AddToClassList(k_UssClassName); styleSheets.Add(AssetDatabase.LoadAssetAtPath <StyleSheet>(BuilderConstants.LibraryUssPathNoExt + ".uss")); styleSheets.Add(EditorGUIUtility.isProSkin ? AssetDatabase.LoadAssetAtPath <StyleSheet>(BuilderConstants.LibraryUssPathNoExt + "Dark.uss") : AssetDatabase.LoadAssetAtPath <StyleSheet>(BuilderConstants.LibraryUssPathNoExt + "Light.uss")); var template = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(BuilderConstants.LibraryUssPathNoExt + ".uxml"); template.CloneTree(this); m_EditorExtensionMode = paneWindow.document.UXMLFileSettings.EditorExtensionMode; m_LibraryContentContainer = this.Q <VisualElement>(k_ContentContainerName); m_HeaderButtonStrip = this.Q <ToggleButtonStrip>(); m_HeaderButtonStrip.choices = Enum.GetNames(typeof(BuilderLibraryTab)); m_HeaderButtonStrip.labels = new List <string> { BuilderConstants.LibraryStandardControlsTabName, BuilderConstants.LibraryProjectTabName }; m_HeaderButtonStrip.RegisterValueChangedCallback(e => { m_ActiveTab = (BuilderLibraryTab)Enum.Parse(typeof(BuilderLibraryTab), e.newValue); SaveViewData(); RefreshView(); }); AddFocusable(m_HeaderButtonStrip); BuilderLibraryContent.OnLibraryContentUpdated += RebuildView; }
void SwitchLibraryTab(BuilderLibraryTab newTab) { m_ActiveTab = newTab; SaveViewData(); RefreshView(); }