void SetupCategoryFilterUI() { m_CategoryFilterUI = EditorXRUtils.Instantiate(m_FilterUIPrefab, m_WorkspaceUI.frontPanel, false).GetComponent <FilterUI>(); m_CategoryFilterUI.transform.localPosition += Vector3.right * k_FilterUIWidth * 3; foreach (var mb in m_CategoryFilterUI.GetComponentsInChildren <MonoBehaviour>()) { this.ConnectInterfaces(mb); } m_CategoryFilterUI.filterChanged += () => { var gridView = m_PolyUI.gridView; var searchQuery = m_CategoryFilterUI.searchQuery; if (string.IsNullOrEmpty(searchQuery)) { gridView.category = PolyCategory.UNSPECIFIED; } else { gridView.category = (PolyCategory)Enum.Parse(typeof(PolyCategory), searchQuery.ToUpper()); } gridView.RequestAssetList(); UpdateComplexityFilterUI(); }; m_CategoryFilterUI.buttonClicked += handle => { m_SortingUI.SetListVisibility(false); m_FormatFilterUI.SetListVisibility(false); m_ComplexityFilterUI.SetListVisibility(false); }; var categoryList = new List <string>(); var textInfo = Thread.CurrentThread.CurrentCulture.TextInfo; foreach (var category in Enum.GetNames(typeof(PolyCategory))) { if (category == "UNSPECIFIED") { continue; } categoryList.Add(textInfo.ToTitleCase(category.ToLower())); } m_CategoryFilterUI.filterList = categoryList; m_CategoryFilterUI.GetComponentInChildren <Tooltip>().tooltipText = "Filter by Category"; UpdateCategoryFilterUI(); }
void SetupFormatFilterUI() { m_FormatFilterUI = EditorXRUtils.Instantiate(m_FilterUIPrefab, m_WorkspaceUI.frontPanel, false).GetComponent <FilterUI>(); m_FormatFilterUI.transform.localPosition += Vector3.right * k_FilterUIWidth; foreach (var mb in m_FormatFilterUI.GetComponentsInChildren <MonoBehaviour>()) { this.ConnectInterfaces(mb); } m_FormatFilterUI.filterChanged += () => { var gridView = m_PolyUI.gridView; switch (m_FormatFilterUI.searchQuery) { case k_Blocks: gridView.format = PolyFormatFilter.BLOCKS; break; case k_TiltBrush: gridView.format = PolyFormatFilter.TILT; break; default: gridView.format = null; break; } gridView.RequestAssetList(); UpdateFormatFilterUI(); }; m_FormatFilterUI.buttonClicked += handle => { m_SortingUI.SetListVisibility(false); m_ComplexityFilterUI.SetListVisibility(false); m_CategoryFilterUI.SetListVisibility(false); }; m_FormatFilterUI.filterList = new List <string> { k_Blocks, k_TiltBrush }; m_FormatFilterUI.GetComponentInChildren <Tooltip>().tooltipText = "Filter by Format"; UpdateFormatFilterUI(); }
void SetupComplextyFilterUI() { m_ComplexityFilterUI = EditorXRUtils.Instantiate(m_FilterUIPrefab, m_WorkspaceUI.frontPanel, false).GetComponent <FilterUI>(); m_ComplexityFilterUI.transform.localPosition += Vector3.right * k_FilterUIWidth * 2; foreach (var mb in m_ComplexityFilterUI.GetComponentsInChildren <MonoBehaviour>()) { this.ConnectInterfaces(mb); } m_ComplexityFilterUI.filterChanged += () => { var gridView = m_PolyUI.gridView; switch (m_ComplexityFilterUI.searchQuery) { case k_Medium: gridView.complexity = PolyMaxComplexityFilter.MEDIUM; break; case k_Simple: gridView.complexity = PolyMaxComplexityFilter.SIMPLE; break; default: gridView.complexity = PolyMaxComplexityFilter.UNSPECIFIED; break; } gridView.RequestAssetList(); UpdateComplexityFilterUI(); }; m_ComplexityFilterUI.buttonClicked += handle => { m_SortingUI.SetListVisibility(false); m_FormatFilterUI.SetListVisibility(false); m_CategoryFilterUI.SetListVisibility(false); }; m_ComplexityFilterUI.filterList = new List <string> { k_Medium, k_Simple }; m_ComplexityFilterUI.GetComponentInChildren <Tooltip>().tooltipText = "Filter by Complexity"; UpdateComplexityFilterUI(); }
void SetupSortingUI() { m_SortingUI = EditorXRUtils.Instantiate(m_FilterUIPrefab, m_WorkspaceUI.frontPanel, false).GetComponent <FilterUI>(); foreach (var mb in m_SortingUI.GetComponentsInChildren <MonoBehaviour>()) { this.ConnectInterfaces(mb); } m_SortingUI.filterChanged += () => { var gridView = m_PolyUI.gridView; switch (m_SortingUI.searchQuery) { case k_Featured: gridView.sorting = PolyOrderBy.BEST; break; case k_Newest: gridView.sorting = PolyOrderBy.NEWEST; break; } gridView.RequestAssetList(); UpdateSortingUI(); }; m_SortingUI.buttonClicked += handle => { m_FormatFilterUI.SetListVisibility(false); m_ComplexityFilterUI.SetListVisibility(false); m_CategoryFilterUI.SetListVisibility(false); }; m_SortingUI.addDefaultOption = false; m_SortingUI.filterList = new List <string> { k_Featured, k_Newest }; m_SortingUI.GetComponentInChildren <Tooltip>().tooltipText = "Change sorting"; UpdateSortingUI(); }