コード例 #1
0
        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));
                }
            }
        }