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("		}");
                }
            }
        }
Example #2
0
        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();
        }