CreateRootResourceFile() публичный статический Метод

Creates the root resource file.
public static CreateRootResourceFile ( ) : void
Результат void
    /// <summary>
    /// Call this from OnInspectorGUI in your own editor class
    /// </summary>
    /// <returns>
    /// The selected key.
    /// </returns>
    /// <param name='currentKey'>
    /// Current key.
    /// </param>
    /// <param name='sort'>
    /// Set this to true if you only want to show keys of a specific type
    /// </param>
    /// <param name='sortType'>
    /// Sort type.
    /// </param>
    public static string SelectKeyGUI(string currentKey, bool sort = false, LocalizedObjectType sortType = LocalizedObjectType.INVALID)
    {
        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("Smart Localization", EditorStyles.boldLabel);
        if (GUILayout.Button("Open", GUILayout.Width(50)))
        {
            SmartLocalizationWindow.ShowWindow();
        }
        EditorGUILayout.EndHorizontal();

        if (autoRefresh || parsedRootValues.Count == 0 || sortType != loadedObjectType)
        {
            RefreshList(sort, sortType);
        }
        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("Sort Mode: ", EditorStyles.miniLabel, GUILayout.Width(55));
        if (sort)
        {
            GUILayout.Label(sortType.ToString() + " only.", EditorStyles.miniLabel);
        }
        else
        {
            GUILayout.Label("Showing ALL types", EditorStyles.miniLabel);
        }
        EditorGUILayout.EndHorizontal();

        if (LocFileUtility.CheckIfRootLanguageFileExists() && !Application.isPlaying)
        {
            int index = parsedRootValues.IndexOf(currentKey);
            index = Mathf.Max(0, index);
            int newIndex = index;
            newIndex = EditorGUILayout.Popup(index, parsedRootValues.ToArray());

            if (newIndex != index)
            {
                currentKey = parsedRootValues[newIndex];
            }

            if (!autoRefresh && GUILayout.Button("Refresh list", GUILayout.Width(80)))
            {
                RefreshList(sort, sortType);
            }
        }
        else if (Application.isPlaying)
        {
            GUILayout.Label("Feature not available in play mode.", EditorStyles.miniLabel);
        }
        else
        {
            GUILayout.Label("There is no Smart Localization system created", EditorStyles.miniLabel);
            //There is no language created
            if (GUILayout.Button("Create New Localization System"))
            {
                LocFileUtility.CreateRootResourceFile();
            }
        }

        return(currentKey);
    }
Пример #2
0
    void OnGUI()
    {
        if (EditorWindowUtility.ShowWindow())
        {
            GUILayout.Label("Settings", EditorStyles.boldLabel);
            if (!LocFileUtility.CheckIfRootLanguageFileExists())
            {
                if (GUILayout.Button("Create New Localization System"))
                {
                    LocFileUtility.CreateRootResourceFile();
                }
            }
            else
            {
                undoManager.CheckUndo();
                if (GUILayout.Button("Refresh"))
                {
                    LocFileUtility.CheckAvailableLanguages(availableLanguages, notAvailableLanguages, notAvailableLanguagesEnglishNames);
                }
                EditorGUILayout.BeginHorizontal();
                GUILayout.Label("Microsoft Translator Settings", EditorStyles.boldLabel, GUILayout.Width(200));
                if (microsoftTranslator.IsInitialized)
                {
                    GUILayout.Label(" - Authenticated!", EditorStyles.miniLabel);
                }
                EditorGUILayout.EndHorizontal();

                EditorGUILayout.BeginHorizontal();
                GUILayout.Label("Client ID:", GUILayout.Width(70));
                mtCliendID = EditorGUILayout.TextField(mtCliendID);
                GUILayout.Label("Client Secret:", GUILayout.Width(100));
                mtCliendSecret = EditorGUILayout.TextField(mtCliendSecret);
                EditorGUILayout.EndHorizontal();
                EditorGUILayout.BeginHorizontal();
                if (GUILayout.Button("Save", GUILayout.Width(50)))
                {
                    SaveMicrosoftTranslatorSettings();
                    if (!microsoftTranslator.IsInitialized)
                    {
                        microsoftTranslator.GetAccessToken(mtCliendID, mtCliendSecret);
                    }
                }
                if (!microsoftTranslator.IsInitialized)
                {
                    if (GUILayout.Button("Authenticate!", GUILayout.Width(150)))
                    {
                        microsoftTranslator.GetAccessToken(mtCliendID, mtCliendSecret);
                    }
                }
                keepTranslatorAuthenticated = EditorGUILayout.Toggle("Keep Authenticated", keepTranslatorAuthenticated);
                EditorGUILayout.EndHorizontal();

                GUILayout.Label("Edit Root Language File", EditorStyles.boldLabel);
                if (GUILayout.Button("Edit"))
                {
                    ShowRootEditWindow(LocFileUtility.LoadParsedLanguageFile(null));
                }

                GUILayout.Label("Create new language", EditorStyles.boldLabel);
                chosenCreateNewCultureValue = EditorGUILayout.Popup(chosenCreateNewCultureValue, notAvailableLanguagesEnglishNames.ToArray());
                if (GUILayout.Button("Create Language"))
                {
                    CreateNewLanguage(notAvailableLanguagesEnglishNames[chosenCreateNewCultureValue]);
                }

                GUILayout.Label("Translate Languages", EditorStyles.boldLabel);
                //Start the scroll view
                scrollPosition = GUILayout.BeginScrollView(scrollPosition);
                bool languageDeleted = false;
                foreach (CultureInfo info in availableLanguages)
                {
                    EditorGUILayout.BeginHorizontal();
                    if (GUILayout.Button(info.EnglishName + " - " + info.Name))
                    {
                        //Open language edit window
                        ShowTranslateWindow(info);
                    }
                    if (GUILayout.Button("Delete", GUILayout.Width(60)))
                    {
                        LocFileUtility.DeleteLanguage(info);
                        languageDeleted = true;
                        break;
                    }
                    EditorGUILayout.EndHorizontal();
                }

                if (languageDeleted)                //Refresh
                {
                    LocFileUtility.CheckAvailableLanguages(availableLanguages, notAvailableLanguages, notAvailableLanguagesEnglishNames);
                }

                //End the scroll view
                GUILayout.EndScrollView();
                undoManager.CheckDirty();
            }
        }
    }