Пример #1
0
        //[MenuItem("Tools/Regenerate asset GUIDs")]
        public static void RegenerateGuids()
        {
            if (EditorUtility.DisplayDialog("GUIDs regeneration",
                                            "You are going to start the process of GUID regeneration. This may have unexpected results. \n\nMAKE A PROJECT BACKUP BEFORE PROCEEDING!",
                                            "Regenerate GUIDs", "Cancel"))
            {
                try
                {
                    AssetDatabase.StartAssetEditing();

                    string path = Path.GetFullPath(".") + Path.DirectorySeparatorChar + "Assets";

                    path = EditorUtility.OpenFolderPanel("Select Folder To Regenertate guids", path, "Assets");

                    UnityGuidRegenerator regenerator = new UnityGuidRegenerator(path);
                    regenerator.RegenerateGuids();
                }
                finally
                {
                    AssetDatabase.StopAssetEditing();
                    EditorUtility.ClearProgressBar();
                    AssetDatabase.Refresh();
                }
            }
        }
Пример #2
0
        public static void RegenerateGuids() {
			if(EditorSettings.serializationMode != SerializationMode.ForceText)
			{
				EditorUtility.DisplayDialog("'Force text' mode needed",
					"Regenerate all GUID script need asset serialization mode as 'Force Text' mode\n\nEdit -> Project Settings -> Editor -> Asset Serialization",
					"OK");
				return;
			}

            if (EditorUtility.DisplayDialog("GUIDs regeneration",
                "You are going to start the process of GUID regeneration. This may have unexpected results. \n\n MAKE A PROJECT BACKUP BEFORE PROCEEDING!",
                "Regenerate GUIDs", "Cancel")) {
                try {
                    AssetDatabase.StartAssetEditing();

                    string path = Path.GetFullPath(".") + Path.DirectorySeparatorChar + "Assets";
                    UnityGuidRegenerator regenerator = new UnityGuidRegenerator(path);
                    regenerator.RegenerateGuids();
                }
                finally {
                    AssetDatabase.StopAssetEditing();
                    EditorUtility.ClearProgressBar();
                    AssetDatabase.Refresh();
                }
            }
        }