zhaoyang 2 éve
szülő
commit
fe929d9c48

+ 1 - 1
GameClient/Assets/Editor/ArtsRes/ImportArtResTool.cs

@@ -55,7 +55,7 @@ namespace GFGEditor
         public static string PicSMd5FileSaveName = "PicSMd5";
 
 
-        private static string[] BgSrcPaths { get { return new string[] { ResRootPathDressUp + "scene/" }; } }
+        public static string[] BgSrcPaths { get { return new string[] { ResRootPathDressUp + "scene/" }; } }
         public static string BgTargetPath = $"{ResPathUtil.TEXTURE_DIR_PATH}/DressUp/";
         public static string BgMd5FileSaveName = "BgMd5";
 

+ 38 - 27
GameClient/Assets/Editor/FileUtil.cs

@@ -236,12 +236,12 @@ namespace GFGEditor
             }
             return false;
         }
-        public static void DeleteUnnecessaryImage(string targetPath, string saveName = "")
+        public static void DeleteUnnecessaryImage(string targetPath, string[] saveNames)
         {
-            if (saveName != "")
+            if (saveNames.Length > 0)
             {
-                DeleteUnnecessaryImageRes(targetPath, saveName);
-                DeleteUnnecessaryImageMD5(saveName);
+                DeleteUnnecessaryImageMD5(saveNames);
+                DeleteUnnecessaryImageRes(targetPath, saveNames);
             }
 
             if (targetPath == ImportArtResTool.DressUpTargetPath)
@@ -253,26 +253,30 @@ namespace GFGEditor
         }
 
         //清除无资源的Md5数据
-        public static void DeleteUnnecessaryImageMD5(string saveName)
+        public static void DeleteUnnecessaryImageMD5(string[] saveNames)
         {
-            List<string> rKeys = new List<string>();
-            Dictionary<string, string> sourceResMD5 = new Dictionary<string, string>();
-            sourceResMD5 = ImagesClip.ReadSourceImagesMD5(saveName);
-            ICollection keys = sourceResMD5.Keys;
-            foreach (string key in keys)
+            for (int j = 0; j < saveNames.Length; j++)
             {
-                if (!File.Exists(key))
+                string saveName = saveNames[j];
+                List<string> rKeys = new List<string>();
+                Dictionary<string, string> sourceResMD5 = new Dictionary<string, string>();
+                sourceResMD5 = ImagesClip.ReadSourceImagesMD5(saveName);
+                ICollection keys = sourceResMD5.Keys;
+                foreach (string key in keys)
                 {
-                    rKeys.Add(key);
+                    if (!File.Exists(key))
+                    {
+                        rKeys.Add(key);
+                    }
                 }
+                for (int i = 0; i < rKeys.Count; i++)
+                {
+                    sourceResMD5.Remove(rKeys[i]);
+                }
+                ImagesClip.WriteSourceImagesMD5(sourceResMD5, saveName);
             }
-            for (int i = 0; i < rKeys.Count; i++)
-            {
-                sourceResMD5.Remove(rKeys[i]);
-            }
-            ImagesClip.WriteSourceImagesMD5(sourceResMD5, saveName);
         }
-        public static void DeleteUnnecessaryImageRes(string targetPath, string saveName)
+        public static void DeleteUnnecessaryImageRes(string targetPath, string[] saveNames)
         {
             string[] includeExtensionNames = new string[] { ".png", ".jpg" };
             if (!Directory.Exists(targetPath))
@@ -281,7 +285,7 @@ namespace GFGEditor
                 return;
             }
             var files = Directory.GetFiles(targetPath);
-            foreach (var file in files)
+            foreach (var file in files)//遍历项目中的所有资源
             {
 
                 if (file.Trim() != file)
@@ -289,25 +293,32 @@ namespace GFGEditor
                     Debug.LogError($"请检查文件名 {file}");
                     continue;
                 }
-
                 string fileName = Path.GetFileName(file);
+                string extensionName = Path.GetExtension(file);
+                if (extensionName == ".meta" || extensionName == ".bytes") continue;
 
-                Dictionary<string, string> sourceResMD5 = new Dictionary<string, string>();
-                sourceResMD5 = ImagesClip.ReadSourceImagesMD5(saveName);
-                ICollection keys = sourceResMD5.Keys;
-                foreach (string key in keys)
+                bool has = false;
+                for (int i = 0; i < saveNames.Length; i++)
                 {
-                    if (!File.Exists(key))
+                    string saveName = saveNames[i];
+                    Dictionary<string, string> sourceResMD5 = new Dictionary<string, string>();
+                    sourceResMD5 = ImagesClip.ReadSourceImagesMD5(saveName);
+                    ICollection keys = sourceResMD5.Keys;
+                    foreach (string key in keys)//遍历MD5中记录的所有正式资源路径
                     {
+                        // if (!File.Exists(key))//记录的路径在正式资源里不存在
+                        // {
                         string sourceName = Path.GetFileName(key);
 
-                        string targetFilePath = targetPath + fileName;
                         if (sourceName == fileName)
                         {
-                            File.Delete(targetFilePath);
+                            has = true;
+                            break;
                         }
                     }
+
                 }
+                if (!has) File.Delete(targetPath + fileName);
             }
             Debug.Log(targetPath + "清除完成!");
         }

+ 34 - 19
GameClient/Assets/Editor/ToolsMenu.cs

@@ -188,40 +188,55 @@ namespace GFGEditor
         {
             ImagesClip.ReadImagePosition();
         }
-        [MenuItem("Tools/ImageClip/DeleteUnnecessaryImagePos")]
-        public static void DeleteUnnecessaryImagePos()
-        {
-            FileUtil.DeleteUnnecessaryImagePos(ImportArtResTool.DressUpTargetPath);
-            FileUtil.DeleteUnnecessaryImageMD5(ImportArtResTool.DressUpMd5FileSaveName);
-        }
+        // [MenuItem("Tools/ImageClip/DeleteUnnecessaryImagePos")]
+        // public static void DeleteUnnecessaryImagePos()
+        // {
+        //     FileUtil.DeleteUnnecessaryImagePos(ImportArtResTool.DressUpTargetPath);
+        //     FileUtil.DeleteUnnecessaryImageMD5(new string[] { ImportArtResTool.DressUpMd5FileSaveName });
+        // }
         [MenuItem("策划/其它/清除冗余文件")]
         public static void DeleteUnnecessaryImage()
         {
-            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.DressUpTargetPath, ImportArtResTool.DressUpMd5FileSaveName);
+            UpdateAndImportArtRes();
+            EditorUtility.DisplayProgressBar("进度", "开始清除资源", 1);
+
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.FieldGuideIconTargetPath, new string[] { ImportArtResTool.FieldGuideIconMd5FileSaveName });
+
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.MusicTargetPath, new string[] { ImportArtResTool.MusicMd5FileSaveName });
 
-            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.BgTargetPath, ImportArtResTool.BgMd5FileSaveName);
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.CardMusicTargetPath, new string[] { ImportArtResTool.CardMusicMd5FileSaveName });
 
-            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.NpcPicSTargetPath, ImportArtResTool.PicSMd5FileSaveName);
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.ItemIconTargetPath, new string[] { ImportArtResTool.IconMd5FileSaveName });
 
-            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.FieldGuideIconTargetPath, ImportArtResTool.FieldGuideIconMd5FileSaveName);
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.DressUpTargetPath, new string[] { ImportArtResTool.BgMd5FileSaveName, ImportArtResTool.DressUpMd5FileSaveName });
 
-            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.MusicTargetPath, ImportArtResTool.MusicMd5FileSaveName);
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.NpcHeadTargetPath, new string[] { ImportArtResTool.HeadMd5FileSaveName });
 
-            // FileUtil.DeleteUnnecessaryImage(ImportArtResTool.ItemIconTargetPath, ImportArtResTool.IconMd5FileSaveName);
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.NpcPicTargetPath, new string[] { ImportArtResTool.PicFMd5FileSaveName });
 
-            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.NpcHeadTargetPath, ImportArtResTool.HeadMd5FileSaveName);
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.NpcPicSTargetPath, new string[] { ImportArtResTool.PicSMd5FileSaveName });
 
-            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.NpcPicTargetPath, ImportArtResTool.PicFMd5FileSaveName);
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.CardBgTargetPath, new string[] { ImportArtResTool.CardBgMd5FileSaveName });
 
-            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.CardBgTargetPath, ImportArtResTool.CardBgMd5FileSaveName);
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.CardIconTargetPath, new string[] { ImportArtResTool.CardMd5FileSaveName });
 
-            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.CardIconTargetPath, ImportArtResTool.CardMd5FileSaveName);
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.ActivityTargetPath, new string[] { ImportArtResTool.ActivityMd5FileSaveName });
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.ActivityShow1TargetPath, new string[] { ImportArtResTool.ActivityShow1Md5FileSaveName });
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.ActivityTargetPath, new string[] { ImportArtResTool.ActivityMd5FileSaveName });
 
-            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.MaterialTargetPath, ImportArtResTool.EffectMaterialMd5FileSaveName);
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.PhotoGraphBorderTargetPath, new string[] { ImportArtResTool.PhotoGraphBorderMd5FileSaveName });
 
-            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.TextureTargetPath, ImportArtResTool.EffectTextureMd5FileSaveName);
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.UIBgTargetPath, new string[] { ImportArtResTool.UIBgMd5FileSaveName });
+
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.ActivityShow2TargetPath, new string[] { ImportArtResTool.ActivityShow2Md5FileSaveName });
+
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.MaterialTargetPath, new string[] { ImportArtResTool.EffectMaterialMd5FileSaveName });
+
+            FileUtil.DeleteUnnecessaryImage(ImportArtResTool.TextureTargetPath, new string[] { ImportArtResTool.EffectTextureMd5FileSaveName });
+
+            // DeleteUnnecessaryAni();
+            EditorUtility.ClearProgressBar();
 
-            DeleteUnnecessaryAni();
         }
 
         // [MenuItem("策划/其它/清除冗余动画")]