private void RenderActiveCategorySelectionPopup() { PrefabCategoryDatabase prefabCategoryDatabase = PrefabCategoryDatabase.Get(); string newActiveCategoryName = EditorGUILayoutEx.SortedPopup(GetContentForActivePrefabCategorySelectionPopup(), prefabCategoryDatabase.IndexOfActiveCategory, ViewData.ShowPrefabCategoryFolderNames ? prefabCategoryDatabase.GetAllPrefabCategoryNamesWithFolders(ViewData.MaxNumberOfCategoryFolderNames) : prefabCategoryDatabase.GetAllPrefabCategoryNames()); if (ViewData.ShowPrefabCategoryFolderNames) { if ((prefabCategoryDatabase.ActivePrefabCategory == null && !string.IsNullOrEmpty(newActiveCategoryName)) || newActiveCategoryName != prefabCategoryDatabase.ActivePrefabCategory.GetNameWithConcatFolderNames(ViewData.MaxNumberOfCategoryFolderNames)) { UndoEx.RecordForToolAction(prefabCategoryDatabase); prefabCategoryDatabase.SetActivePrefabCategory(prefabCategoryDatabase.GetPrefabCategoryByNameWithFolders(newActiveCategoryName, ViewData.MaxNumberOfCategoryFolderNames)); } } else { if ((prefabCategoryDatabase.ActivePrefabCategory == null && !string.IsNullOrEmpty(newActiveCategoryName)) || newActiveCategoryName != prefabCategoryDatabase.ActivePrefabCategory.Name) { UndoEx.RecordForToolAction(prefabCategoryDatabase); prefabCategoryDatabase.SetActivePrefabCategory(prefabCategoryDatabase.GetPrefabCategoryByName(newActiveCategoryName)); } } }