|  |  | 
 |  |  | using System.IO;
 | 
 |  |  | using System.Text.RegularExpressions;
 | 
 |  |  | using System.Text;
 | 
 |  |  | using TableConfig;
 | 
 |  |  | 
 | 
 |  |  | using Beebyte.Obfuscator;
 | 
 |  |  | 
 | 
 |  |  | public class ClientPackage
 | 
 |  |  | 
 |  |  | 
 | 
 |  |  |         if (halfPackages.Count > 0)
 | 
 |  |  |         {
 | 
 |  |  |             Config.Instance.LoadPriorBundleConfig();
 | 
 |  |  |             PriorBundleConfig.Init(true);
 | 
 |  |  | 
 | 
 |  |  |             var fromFiles = new List<FileInfo>();
 | 
 |  |  |             FileExtersion.GetAllDirectoryFileInfos(_assetBundlePath, fromFiles);
 | 
 |  |  | 
 |  |  |             var completeCount = 0;
 | 
 |  |  |             foreach (var item in fromFiles)
 | 
 |  |  |             {
 | 
 |  |  |                 var directory = Path.GetDirectoryName(item.FullName);
 | 
 |  |  |                 var relativePath = FileExtersion.GetFileRelativePath(_assetBundlePath, item.FullName);
 | 
 |  |  |                 var to = StringUtility.Contact(ResourcesPath.Instance.StreamingAssetPath, relativePath);
 | 
 |  |  |                 var directory = Path.GetDirectoryName(to);
 | 
 |  |  |                 if (!Directory.Exists(directory))
 | 
 |  |  |                 {
 | 
 |  |  |                     Directory.CreateDirectory(directory);
 | 
 |  |  |                 }
 | 
 |  |  | 
 | 
 |  |  |                 var relativePath = FileExtersion.GetFileRelativePath(_assetBundlePath, item.FullName);
 | 
 |  |  |                 var to = StringUtility.Contact(ResourcesPath.Instance.StreamingAssetPath, relativePath);
 | 
 |  |  | #if UNITY_ANDROID
 | 
 |  |  |                 var extension = Path.GetExtension(item.FullName);
 | 
 |  |  |                 if (extension == ".meta")
 | 
 |  |  | 
 |  |  | #elif UNITY_IOS
 | 
 |  |  |                 File.Copy(item.FullName,to,true);
 | 
 |  |  | #endif
 | 
 |  |  | 
 | 
 |  |  |                 completeCount++;
 | 
 |  |  |             }
 | 
 |  |  | 
 | 
 |  |  | 
 |  |  | 
 | 
 |  |  |         if (bigPackages.Count > 0)
 | 
 |  |  |         {
 | 
 |  |  |             FileExtersion.DirectoryCopy(_assetBundlePath, ResourcesPath.Instance.StreamingAssetPath);
 | 
 |  |  |             var fromFiles = new List<FileInfo>();
 | 
 |  |  |             FileExtersion.GetAllDirectoryFileInfos(_assetBundlePath, fromFiles);
 | 
 |  |  | 
 | 
 |  |  |             var totalCount = fromFiles.Count;
 | 
 |  |  |             var completeCount = 0;
 | 
 |  |  |             foreach (var item in fromFiles)
 | 
 |  |  |             {
 | 
 |  |  |                 var relativePath = FileExtersion.GetFileRelativePath(_assetBundlePath, item.FullName);
 | 
 |  |  |                 var to = StringUtility.Contact(ResourcesPath.Instance.StreamingAssetPath, relativePath);
 | 
 |  |  |                 var directory = Path.GetDirectoryName(to);
 | 
 |  |  |                 if (!Directory.Exists(directory))
 | 
 |  |  |                 {
 | 
 |  |  |                     Directory.CreateDirectory(directory);
 | 
 |  |  |                 }
 | 
 |  |  | #if UNITY_ANDROID
 | 
 |  |  |                 var extension = Path.GetExtension(item.FullName);
 | 
 |  |  |                 if (extension == ".meta")
 | 
 |  |  |                 {
 | 
 |  |  |                     continue;
 | 
 |  |  |                 }
 | 
 |  |  | 
 | 
 |  |  |                 to = to + ".7z";
 | 
 |  |  |                 SevenZipUtility.Compress(item.FullName, to);
 | 
 |  |  |                 UnityEditor.EditorUtility.DisplayProgressBar("正在压缩资源", item.Name, (float)completeCount / totalCount);
 | 
 |  |  | #elif UNITY_IOS
 | 
 |  |  |                 File.Copy(item.FullName,to,true);
 | 
 |  |  | #endif
 | 
 |  |  |                 completeCount++;
 | 
 |  |  |             }
 | 
 |  |  | 
 | 
 |  |  |             for (int i = 0; i < bigPackages.Count; i++)
 | 
 |  |  |             {
 | 
 |  |  | #if UNITY_ANDROID
 | 
 |  |  | 
 |  |  | 
 | 
 |  |  |         DateTime outTime;
 | 
 |  |  |         var correct = DateTime.TryParse(auditOutTime, out outTime);
 | 
 |  |  |         var directory = Application.dataPath + Path.DirectorySeparatorChar + "Resources/Config";
 | 
 |  |  |         if (Directory.Exists(directory))
 | 
 |  |  |         {
 | 
 |  |  |             Directory.CreateDirectory(directory);
 | 
 |  |  |         }
 | 
 |  |  |         File.WriteAllText(Application.dataPath + Path.DirectorySeparatorChar + "Resources/Config/AuditTime.txt", correct ? auditOutTime : "");
 | 
 |  |  |         
 | 
 |  |  |         var option = AssetDatabase.LoadAssetAtPath<Options>("Assets/Editor/Beebyte/Obfuscator/ObfuscatorOptions.asset");
 |