internal static SettingsProvider Create2DProvider() { var settings = new PreferencesProvider("Preferences/2D", GetSearchKeywordsFromGUIContentProperties <TwoDProperties>()); settings.guiHandler = searchContext => { OnGUI(searchContext, settings.Show2D); }; return(settings); }
internal static SettingsProvider CreateExternalToolsProvider() { var settings = new PreferencesProvider("Preferences/External Tools", GetSearchKeywordsFromGUIContentProperties <ExternalProperties>()); settings.guiHandler = searchContext => { OnGUI(searchContext, settings.ShowExternalApplications); }; return(settings); }
public static void SetCustomDiffTool(string path, string twoWayDiff, string threeWayDiff, string mergeCommand, bool forceEnableCustomTool = false) { InternalEditorUtility.SetCustomDiffToolPrefs(path, twoWayDiff, threeWayDiff, mergeCommand); PreferencesProvider.ReloadCustomDiffToolData(); if (forceEnableCustomTool) { PreferencesProvider.ForceEnableCustomTool(); } }
internal static SettingsProvider CreateUnityServicesProvider() { if (Unsupported.IsDeveloperMode() || UnityConnect.preferencesEnabled) { var settings = new PreferencesProvider("Preferences/Unity Services"); settings.guiHandler = searchContext => { OnGUI(searchContext, settings.ShowUnityConnectPrefs); }; return(settings); } return(null); }
internal static SettingsProvider CreateGeneralProvider() { var settings = new PreferencesProvider("Preferences/_General", GetSearchKeywordsFromGUIContentProperties <GeneralProperties>()) { label = "General" }; settings.guiHandler = searchContext => { OnGUI(searchContext, settings.ShowGeneral); }; return(settings); }
internal static SettingsProvider CreateLanguagesProvider() { var editorLanguages = LocalizationDatabase.GetAvailableEditorLanguages(); if (m_EditorLanguageNames == null || m_EditorLanguageNames.Length != editorLanguages.Length) { m_EditorLanguageNames = new GUIContent[editorLanguages.Length]; for (int i = 0; i < editorLanguages.Length; ++i) { var culture = LocalizationDatabase.GetCulture(editorLanguages[i]); var langName = new System.Globalization.CultureInfo(culture).NativeName; // Due to the issue 1088990, workaround for both Chinese is necessary. // This workaround should be removed just after the fix. if (editorLanguages[i] == SystemLanguage.ChineseSimplified) { byte[] letters = { 0xE7, 0xAE, 0x80, 0xE4, 0xBD, 0x93, 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87 }; langName = System.Text.Encoding.UTF8.GetString(letters); } else if (editorLanguages[i] == SystemLanguage.ChineseTraditional) { byte[] letters = { 0xE7, 0xB9, 0x81, 0xE9, 0xAB, 0x94, 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87 }; langName = System.Text.Encoding.UTF8.GetString(letters); } // not in stable languages list - display it as experimental language if (ArrayUtility.FindIndex(m_stableLanguages, v => v == editorLanguages[i]) < 0) { m_EditorLanguageNames[i] = EditorGUIUtility.TextContent(string.Format("{0} (Experimental)", langName)); } else { m_EditorLanguageNames[i] = EditorGUIUtility.TextContent(langName); } } ArrayUtility.Insert(ref m_EditorLanguageNames, 0, EditorGUIUtility.TextContent("")); GUIContent defaultLanguage = EditorGUIUtility.TextContent(string.Format("Default ( {0} )", LocalizationDatabase.GetDefaultEditorLanguage().ToString())); ArrayUtility.Insert(ref m_EditorLanguageNames, 0, defaultLanguage); } if (editorLanguages.Length > 1) { var settings = new PreferencesProvider("Preferences/Languages"); settings.guiHandler = searchContext => { OnGUI(searchContext, settings.ShowLanguage); }; return(settings); } return(null); }