| 
					
				 | 
			
			
				@@ -2,6 +2,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using System.Collections.Generic; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using System.IO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using UnityEditor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using UnityEngine; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using YooAsset.Editor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 namespace GFGEditor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -104,7 +106,7 @@ namespace GFGEditor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             EditorUtility.ClearProgressBar(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        public static void OnPostExecuteBuild() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static void OnPostExecuteBuild(BuildResult buildResult) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(fileBundleDic != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -118,6 +120,13 @@ namespace GFGEditor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             assetBundleCollector = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ruler = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int index = buildResult.OutputPackageDirectory.LastIndexOf("/"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            string targetPath = buildResult.OutputPackageDirectory.Substring(0, index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Debug.Log($"sourcePath {buildResult.OutputPackageDirectory}"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Debug.Log($"targetPath {targetPath}"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            CopyFilesTo(buildResult.OutputPackageDirectory, targetPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Directory.Delete(buildResult.OutputPackageDirectory, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public static void CollectDynamicFile(string dirPath, string itemKey, string assetPath, bool autoMerge) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -277,5 +286,45 @@ namespace GFGEditor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return excludeFileExtensions.Contains(extension); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static List<string> CopyFilesTo(string sourcePath, string targetPath, string[] includeExtensionNames = null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(!sourcePath.EndsWith("/")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sourcePath += "/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!targetPath.EndsWith("/")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                targetPath += "/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<string> result = new List<string>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (Directory.Exists(sourcePath)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var files = Directory.GetFiles(sourcePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var dirs = Directory.GetDirectories(sourcePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                foreach (var dir in dirs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    List<string> tempResult = CopyFilesTo(dir, targetPath, includeExtensionNames); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    result.AddRange(tempResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                foreach (var file in files) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    var fileName = Path.GetFileName(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    string extensionName = Path.GetExtension(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (includeExtensionNames == null || Array.IndexOf(includeExtensionNames, extensionName) >= 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        string targetFilePath = targetPath + fileName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (!File.Exists(targetFilePath) || !Equals(file, targetFilePath)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            File.Copy(file, targetFilePath, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            result.Add(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |