void BuildScriptWithSelectedTerms(StringBuilder sb) { List <string> Categories = LocalizationManager.GetCategories(); foreach (string Category in Categories) { List <string> CategoryTerms = ScriptTool_GetSelectedTermsInCategory(Category); if (CategoryTerms.Count <= 0) { continue; } List <string> AdjustedCategoryTerms = new List <string>(CategoryTerms); for (int i = 0, imax = AdjustedCategoryTerms.Count; i < imax; ++i) { AdjustedCategoryTerms[i] = ScriptTool_AdjustTerm(AdjustedCategoryTerms[i]); } ScriptTool_EnumerateDuplicatedTerms(AdjustedCategoryTerms); sb.AppendLine(); if (Category != LanguageSource.EmptyCategory) { sb.AppendLine(" public static class "+ ScriptTool_AdjustTerm(Category, true)); sb.AppendLine(" {"); } BuildScriptCategory(sb, Category, AdjustedCategoryTerms, CategoryTerms); if (Category != LanguageSource.EmptyCategory) { sb.AppendLine(" }"); } } }
void RemoveUnusedCategoriesFromSelected() { List <string> Categories = LocalizationManager.GetCategories(); for (int i = mSelectedCategories.Count - 1; i >= 0; --i) { if (!Categories.Contains(mSelectedCategories[i])) { mSelectedCategories.RemoveAt(i); } } if (mSelectedCategories.Count == 0) { mSelectedCategories.AddRange(Categories); } }
void OnGUI_NewOrExistingCategory() { //--[ Create Category ]------------------------ GUILayout.BeginHorizontal(); mNewCategory = GUILayout.TextField(mNewCategory, EditorStyles.toolbarTextField, GUILayout.ExpandWidth(true)); if (GUILayout.Button("Create", "toolbarbutton", GUILayout.Width(60))) { EditorApplication.update += AssignCategoryToSelectedTerms; } GUILayout.EndHorizontal(); //--[ Existing Category ]------------------------ int Index = 0; List <string> Categories = LocalizationManager.GetCategories(); for (int i = 0, imax = Categories.Count; i < imax; ++i) { if (Categories[i].ToLower().Contains(mNewCategory.ToLower())) { Index = i; break; } } GUILayout.BeginHorizontal(); int NewIndex = EditorGUILayout.Popup(Index, Categories.ToArray(), EditorStyles.toolbarPopup, GUILayout.ExpandWidth(true)); if (NewIndex != Index) { mNewCategory = Categories[NewIndex]; } if (GUILayout.Button("Use", "toolbarbutton", GUILayout.Width(60))) { mNewCategory = Categories[NewIndex]; EditorApplication.update += AssignCategoryToSelectedTerms; } GUILayout.EndHorizontal(); }