From f541732952b31404c35981f5470ff39f1625e0b1 Mon Sep 17 00:00:00 2001
From: lwb <q3213421wrwqr>
Date: 星期一, 18 一月 2021 14:55:50 +0800
Subject: [PATCH] 8697 【主干】分包下载提取原写死的打包逻辑

---
 Assets/Editor/Tool/ClientPackage.cs |   92 ++++++++++++++++++++++++++++++----------------
 1 files changed, 60 insertions(+), 32 deletions(-)

diff --git a/Assets/Editor/Tool/ClientPackage.cs b/Assets/Editor/Tool/ClientPackage.cs
index 274dc19..c68a499 100644
--- a/Assets/Editor/Tool/ClientPackage.cs
+++ b/Assets/Editor/Tool/ClientPackage.cs
@@ -27,6 +27,17 @@
         get { return LocalSave.GetBool("obfuscatorEnabled", false); }
         set { LocalSave.SetBool("obfuscatorEnabled", value); }
     }
+    public static bool includeConfig
+    {
+        get { return LocalSave.GetBool("client_pg_includeConfig", false); }
+        set { LocalSave.SetBool("client_pg_includeConfig", value); }
+    }
+
+    public static bool includeUI
+    {
+        get { return LocalSave.GetBool("client_pg_includeUI", false); }
+        set { LocalSave.SetBool("client_pg_includeUI", value); }
+    }
 
     public static int AssetPrior
     {
@@ -188,12 +199,7 @@
             foreach (var file in tempFiles)
             {
                 var extersion = Path.GetExtension(file.FullName);
-                var fileName = Path.GetFileName(file.FullName);
-                if (!string.IsNullOrEmpty(extersion))
-                {
-                    fileName = fileName.Replace(extersion, "");
-                }
-
+                var fileName = Path.GetFileNameWithoutExtension(file.FullName);
                 var prior = PriorBundleConfig.GetAssetPrior(AssetVersion.AssetCategory.Mob, fileName);
                 if (prior > AssetPrior)
                 {
@@ -206,12 +212,7 @@
             foreach (var file in tempFiles)
             {
                 var extersion = Path.GetExtension(file.FullName);
-                var fileName = Path.GetFileName(file.FullName);
-                if (!string.IsNullOrEmpty(extersion))
-                {
-                    fileName = fileName.Replace(extersion, "");
-                }
-
+                var fileName = Path.GetFileNameWithoutExtension(file.FullName);
                 var prior = PriorBundleConfig.GetAssetPrior(AssetVersion.AssetCategory.Scene, fileName);
                 if (prior > AssetPrior)
                 {
@@ -224,12 +225,7 @@
             foreach (var file in tempFiles)
             {
                 var extersion = Path.GetExtension(file.FullName);
-                var fileName = Path.GetFileName(file.FullName);
-                if (!string.IsNullOrEmpty(extersion))
-                {
-                    fileName = fileName.Replace(extersion, "");
-                }
-
+                var fileName = Path.GetFileNameWithoutExtension(file.FullName);
                 var prior = PriorBundleConfig.GetAssetPrior(AssetVersion.AssetCategory.Audio, fileName);
                 if (prior > AssetPrior)
                 {
@@ -242,12 +238,7 @@
             foreach (var file in tempFiles)
             {
                 var extersion = Path.GetExtension(file.FullName);
-                var fileName = Path.GetFileName(file.FullName);
-                if (!string.IsNullOrEmpty(extersion))
-                {
-                    fileName = fileName.Replace(extersion, "");
-                }
-
+                var fileName = Path.GetFileNameWithoutExtension(file.FullName);
                 var prior = PriorBundleConfig.GetAssetPrior(AssetVersion.AssetCategory.Effect, fileName);
                 if (prior > AssetPrior)
                 {
@@ -255,12 +246,47 @@
                 }
             }
 
+            //鍓旈櫎瑙嗛璧勬簮
+            tempFiles.Clear();
+            FileExtersion.GetAllDirectoryFileInfos(StringUtility.Contact(_assetBundlePath, "/video"), tempFiles);
+            foreach (var file in tempFiles)
+            {
+                var extersion = Path.GetExtension(file.FullName);
+                var fileName = Path.GetFileNameWithoutExtension(file.FullName);
+                var prior = PriorBundleConfig.GetAssetPrior(AssetVersion.AssetCategory.Video, fileName);
+                if (prior > AssetPrior)
+                {
+                    excludeFileFullNames.Add(file.FullName);
+                }
+            }
+
+            //鍓旈櫎琛ㄨ祫婧�
+            if (!includeConfig)
+            {
+                tempFiles.Clear();
+                FileExtersion.GetAllDirectoryFileInfos(StringUtility.Contact(_assetBundlePath, "/config"), tempFiles);
+                foreach (var file in tempFiles)
+                {
+                    excludeFileFullNames.Add(file.FullName);
+                }
+            }
+
+            //鍓旈櫎UI璧勬簮
             tempFiles.Clear();
             FileExtersion.GetAllDirectoryFileInfos(StringUtility.Contact(_assetBundlePath, "/ui/sprite"), tempFiles);
             foreach (var file in tempFiles)
             {
                 var fileName = Path.GetFileName(file.FullName);
                 if (fileName == "loadingbg")
+                {
+                    excludeFileFullNames.Add(file.FullName);
+                }
+            }
+            if (!includeUI)
+            {
+                tempFiles.Clear();
+                FileExtersion.GetAllDirectoryFileInfos(StringUtility.Contact(_assetBundlePath, "/ui"), tempFiles);
+                foreach (var file in tempFiles)
                 {
                     excludeFileFullNames.Add(file.FullName);
                 }
@@ -281,17 +307,16 @@
             {
                 var relativePath = FileExtersion.GetFileRelativePath(_assetBundlePath, item.FullName);
                 var to = StringUtility.Contact(ResourcesPath.Instance.StreamingAssetPath, relativePath);
+                if (relativePath.StartsWith("patch"))//涓嶅寘鍚玬eta鏂囦欢鍜岃ˉ涓�
+                    continue;
+
                 var directory = Path.GetDirectoryName(to);
                 if (!Directory.Exists(directory))
-                {
                     Directory.CreateDirectory(directory);
-                }
 
                 var extension = Path.GetExtension(item.FullName);
                 if (extension == ".meta")
-                {
                     continue;
-                }
 
                 File.Copy(item.FullName, to, true);
                 completeCount++;
@@ -319,17 +344,16 @@
             {
                 var relativePath = FileExtersion.GetFileRelativePath(_assetBundlePath, item.FullName);
                 var to = StringUtility.Contact(ResourcesPath.Instance.StreamingAssetPath, relativePath);
+                if (relativePath.StartsWith("patch"))//涓嶅寘鍚玬eta鏂囦欢鍜岃ˉ涓�
+                    continue;
+
                 var directory = Path.GetDirectoryName(to);
                 if (!Directory.Exists(directory))
-                {
                     Directory.CreateDirectory(directory);
-                }
 
                 var extension = Path.GetExtension(item.FullName);
                 if (extension == ".meta")
-                {
                     continue;
-                }
 
                 File.Copy(item.FullName, to, true);
                 completeCount++;
@@ -452,6 +476,8 @@
         AssetDatabase.SaveAssets();
         AssetDatabase.Refresh();
 
+        IFix.Editor.IFixEditor.InjectAllAssemblys();//瀵筰njectAssemblys閲岀殑绋嬪簭闆嗚繘琛屾敞鍏ワ紝鐒跺悗澶囦唤
+
         if (_development)
         {
             var apkName = StringUtility.Contact(_output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", _buildIndex, "_development.apk");
@@ -503,6 +529,8 @@
         PlayerSettings.iOS.buildNumber = VersionConfig.Get().buildIndex.ToString();
         PlayerSettings.iOS.appleDeveloperTeamID = VersionConfig.Get().appleDeveloperTeamID;
 
+        IFix.Editor.IFixEditor.InjectAllAssemblys();//瀵筰njectAssemblys閲岀殑绋嬪簭闆嗚繘琛屾敞鍏ワ紝鐒跺悗澶囦唤
+
         if (_replace)
         {
             XCodeProjectMod.BuildIOSProject_Replace();

--
Gitblit v1.8.0