void SetupCategoryFilterUI() { m_CategoryFilterUI = ObjectUtils.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 SetupComplextyFilterUI() { m_ComplexityFilterUI = ObjectUtils.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(); }