Beispiel #1
0
 /// <summary>
 /// Find all XML declared dependency files.
 /// </summary>
 /// <returns>List of XML dependency filenames in the project.</returns>
 private List <string> FindFiles()
 {
     return(new List <string>(
                VersionHandlerImpl.SearchAssetDatabase(
                    "Dependencies t:TextAsset", IsDependenciesFile,
                    new [] { "Assets", "Packages" })));
 }
Beispiel #2
0
        /// <summary>
        /// Find all XML declared registries files.
        /// </summary>
        /// <returns>Set of XML registries filenames in the project.</returns>
        private IEnumerable <string> FindFiles()
        {
            var foundFiles = new HashSet <string>(
                VersionHandlerImpl.SearchAssetDatabase(
                    assetsFilter: "Registries t:TextAsset",
                    filter: IsRegistriesFile,
                    directories: fileSearchPaths));

            foundFiles.UnionWith(VersionHandlerImpl.SearchAssetDatabase(
                                     assetsFilter: "l:" + REGISTRIES_LABEL,
                                     directories: fileSearchPaths));
            return(foundFiles);
        }
 /// <summary>
 /// Find all XML declared dependency files.
 /// </summary>
 /// <returns>List of XML dependency filenames in the project.</returns>
 private List <string> FindFiles()
 {
     return(new List <string>(
                VersionHandlerImpl.SearchAssetDatabase(
                    "Dependencies t:TextAsset",
                    (string filename) => {
         foreach (var regex in fileRegularExpressions)
         {
             if (regex.Match(filename).Success)
             {
                 return true;
             }
         }
         return false;
     }, new [] { "Assets", "Packages" })));
 }
 public static void ShowDocumentation()
 {
     analytics.OpenUrl(VersionHandlerImpl.DocumentationUrl(
                           "#package-manager-resolver-usage"), "Usage");
 }
        /// <summary>
        /// Called when the GUI should be rendered.
        /// </summary>
        public void OnGUI()
        {
            GUI.skin.label.wordWrap = true;
            GUILayout.BeginVertical();
            GUILayout.Label(String.Format("Version Handler (version {0}.{1}.{2})",
                                          VersionHandlerVersionNumber.Value.Major,
                                          VersionHandlerVersionNumber.Value.Minor,
                                          VersionHandlerVersionNumber.Value.Build));

            GUILayout.BeginHorizontal();
            GUILayout.Label("Enable version management", EditorStyles.boldLabel);
            settings.enabled = EditorGUILayout.Toggle(settings.enabled);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Rename to canonical filenames",
                            EditorStyles.boldLabel);
            settings.renameToCanonicalFilenames =
                EditorGUILayout.Toggle(settings.renameToCanonicalFilenames);
            GUILayout.EndHorizontal();
            GUILayout.Label("When this option is enabled the Version Handler strips " +
                            "metadata from filenames.  This can be a *very* slow operation " +
                            "as each renamed DLL causes the Unity editor to reload all DLLs.");

            GUILayout.BeginHorizontal();
            GUILayout.Label("Prompt for obsolete file deletion",
                            EditorStyles.boldLabel);
            settings.cleanUpPromptEnabled = EditorGUILayout.Toggle(settings.cleanUpPromptEnabled);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Allow disabling files via renaming", EditorStyles.boldLabel);
            settings.renameToDisableFilesEnabled =
                EditorGUILayout.Toggle(settings.renameToDisableFilesEnabled);
            GUILayout.EndHorizontal();

            settings.analyticsSettings.RenderGui();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Verbose logging", EditorStyles.boldLabel);
            settings.verboseLoggingEnabled = EditorGUILayout.Toggle(settings.verboseLoggingEnabled);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Use project settings", EditorStyles.boldLabel);
            settings.useProjectSettings = EditorGUILayout.Toggle(settings.useProjectSettings);
            GUILayout.EndHorizontal();

            GUILayout.Space(10);

            if (GUILayout.Button("Reset to Defaults"))
            {
                // Load default settings into the dialog but preserve the state in the user's
                // saved preferences.
                var backupSettings = new Settings();
                VersionHandlerImpl.RestoreDefaultSettings();
                VersionHandlerImpl.analytics.Report("settings/reset", "Settings Reset");
                LoadSettings();
                backupSettings.Save();
            }

            GUILayout.BeginHorizontal();
            if (GUILayout.Button("Cancel"))
            {
                VersionHandlerImpl.analytics.Report("settings/cancel", "Settings Cancel");
                Close();
            }
            if (GUILayout.Button("OK"))
            {
                VersionHandlerImpl.analytics.Report(
                    "settings/save",
                    new KeyValuePair <string, string>[] {
                    new KeyValuePair <string, string>(
                        "enabled",
                        VersionHandlerImpl.Enabled.ToString()),
                    new KeyValuePair <string, string>(
                        "cleanUpPromptEnabled",
                        VersionHandlerImpl.CleanUpPromptEnabled.ToString()),
                    new KeyValuePair <string, string>(
                        "renameToCanonicalFilenames",
                        VersionHandlerImpl.RenameToCanonicalFilenames.ToString()),
                    new KeyValuePair <string, string>(
                        "verboseLoggingEnabled",
                        VersionHandlerImpl.VerboseLoggingEnabled.ToString()),
                    new KeyValuePair <string, string>(
                        "renameToDisableFilesEnabled",
                        VersionHandlerImpl.RenameToDisableFilesEnabled.ToString()),
                },
                    "Settings Save");
                settings.Save();
                Close();
                // If the handler has been enabled, refresh the asset database
                // to force it to run.
                if (settings.enabled)
                {
                    AssetDatabase.Refresh();
                }
            }
            GUILayout.EndHorizontal();
            GUILayout.EndVertical();
        }
        /// <summary>
        /// Called when the GUI should be rendered.
        /// </summary>
        public void OnGUI()
        {
            GUI.skin.label.wordWrap = true;
            GUILayout.BeginVertical();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Enable version management", EditorStyles.boldLabel);
            settings.enabled = EditorGUILayout.Toggle(settings.enabled);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Rename to canonical filenames",
                            EditorStyles.boldLabel);
            settings.renameToCanonicalFilenames =
                EditorGUILayout.Toggle(settings.renameToCanonicalFilenames);
            GUILayout.EndHorizontal();
            GUILayout.Label("When this option is enabled the Version Handler strips " +
                            "metadata from filenames.  This can be a *very* slow operation " +
                            "as each renamed DLL causes the Unity editor to reload all DLLs.");

            GUILayout.BeginHorizontal();
            GUILayout.Label("Prompt for obsolete file deletion",
                            EditorStyles.boldLabel);
            settings.cleanUpPromptEnabled = EditorGUILayout.Toggle(settings.cleanUpPromptEnabled);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Verbose logging", EditorStyles.boldLabel);
            settings.verboseLoggingEnabled = EditorGUILayout.Toggle(settings.verboseLoggingEnabled);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Use project settings", EditorStyles.boldLabel);
            settings.useProjectSettings = EditorGUILayout.Toggle(settings.useProjectSettings);
            GUILayout.EndHorizontal();

            GUILayout.Space(10);

            if (GUILayout.Button("Reset to Defaults"))
            {
                // Load default settings into the dialog but preserve the state in the user's
                // saved preferences.
                var backupSettings = new Settings();
                VersionHandlerImpl.RestoreDefaultSettings();
                LoadSettings();
                backupSettings.Save();
            }

            GUILayout.BeginHorizontal();
            if (GUILayout.Button("Cancel"))
            {
                Close();
            }
            if (GUILayout.Button("OK"))
            {
                settings.Save();
                Close();
                // If the handler has been enabled, refresh the asset database
                // to force it to run.
                if (settings.enabled)
                {
                    AssetDatabase.Refresh();
                }
            }
            GUILayout.EndHorizontal();
            GUILayout.EndVertical();
        }