From 54fad068f41ba7b0d2f16699a3f774be2a0d84e9 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 14 二月 2019 12:02:50 +0800
Subject: [PATCH] 3335 配置表读取重构。

---
 Assets/Editor/Tool/ClientPackage.cs |  112 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 87 insertions(+), 25 deletions(-)

diff --git a/Assets/Editor/Tool/ClientPackage.cs b/Assets/Editor/Tool/ClientPackage.cs
index f382cfd..786d5a7 100644
--- a/Assets/Editor/Tool/ClientPackage.cs
+++ b/Assets/Editor/Tool/ClientPackage.cs
@@ -6,7 +6,7 @@
 using System.IO;
 using System.Text.RegularExpressions;
 using System.Text;
-using TableConfig;
+
 using Beebyte.Obfuscator;
 
 public class ClientPackage
@@ -99,28 +99,63 @@
 
         if (smallPackages.Count > 0)
         {
-            FileExtersion.DirectoryCopy(_assetBundlePath, ResourcesPath.Instance.StreamingAssetPath);
-
             var files = new List<FileInfo>();
-            FileExtersion.GetAllDirectoryFileInfos(ResourcesPath.Instance.StreamingAssetPath, files);
+            var builtInFiles = new List<FileInfo>();
+
+            FileExtersion.GetAllDirectoryFileInfos(_assetBundlePath, files);
             foreach (var file in files)
             {
                 var fileName = Path.GetFileName(file.FullName);
-                if (fileName.Contains("builtin"))
+
+                if (file.FullName.Contains("builtin"))
                 {
+                    builtInFiles.Add(file);
                     continue;
                 }
 
-                if (file.FullName.Contains("config/Contact.txt")
-                    || file.FullName.Contains("config/HelpInfo.txt")
-                    || file.FullName.Contains("config/PriorBundle.txt")
-                    || file.FullName.Contains("config/PriorLanguage.txt"))
+                if (file.FullName.Contains("Contact.txt")
+                    || file.FullName.Contains("HelpInfo.txt")
+                    || file.FullName.Contains("PriorBundle.txt")
+                    || file.FullName.Contains("PriorLanguage.txt")
+                    || file.FullName.Contains("ApkUpdateUrl.txt"))
                 {
+                    builtInFiles.Add(file);
                     continue;
                 }
 
                 File.Delete(file.FullName);
             }
+
+            var totalCount = builtInFiles.Count;
+            var completeCount = 0;
+            foreach (var item in builtInFiles)
+            {
+                var directory = Path.GetDirectoryName(item.FullName);
+                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")
+                {
+                    continue;
+                }
+
+                to = to + ".7z";
+                SevenZipUtility.Compress(item.FullName, to);
+                UnityEditor.EditorUtility.DisplayProgressBar("姝e湪鍘嬬缉璧勬簮", item.Name, (float)completeCount / totalCount);
+#elif UNITY_IOS
+                File.Copy(item.FullName,to,true);
+#endif
+
+                completeCount++;
+            }
+
+            EditorUtility.ClearProgressBar();
 
             for (int i = 0; i < smallPackages.Count; i++)
             {
@@ -134,7 +169,7 @@
 
         if (halfPackages.Count > 0)
         {
-            Config.Instance.LoadPriorBundleConfig();
+            PriorBundleConfig.Init(true);
 
             var fromFiles = new List<FileInfo>();
             FileExtersion.GetAllDirectoryFileInfos(_assetBundlePath, fromFiles);
@@ -236,14 +271,13 @@
             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")
@@ -257,7 +291,6 @@
 #elif UNITY_IOS
                 File.Copy(item.FullName,to,true);
 #endif
-
                 completeCount++;
             }
 
@@ -274,7 +307,36 @@
 
         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("姝e湪鍘嬬缉璧勬簮", 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
@@ -339,7 +401,7 @@
         PlayerSettings.Android.keystorePass = versionConfig.keystorePassword;
         PlayerSettings.Android.keyaliasName = versionConfig.keystoreAlias;
         PlayerSettings.Android.keyaliasPass = versionConfig.keystoreAliasPassword;
-        // PlayerSettings.Android.targetSdkVersion = AndroidSdkVersions.AndroidApiLevel22;
+        PlayerSettings.Android.targetSdkVersion = AndroidSdkVersions.AndroidApiLevel22;
         PlayerSettings.Android.bundleVersionCode = VersionConfig.GetVersionNumber(versionConfig.version);
 
         PlayerSettings.enableInternalProfiler = _development;
@@ -395,6 +457,11 @@
 
         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");
@@ -424,7 +491,7 @@
     {
         try
         {
-            var newVersionConfigPath = StringUtility.Contact("Assets/Resources/ScriptableObject/Config/VersionConfig", ".asset");
+            var newVersionConfigPath = StringUtility.Contact("Assets/Resources/VersionConfig", ".asset");
             var versionName = string.Empty;
             var fromVersionConfig = GetVersionConfig(_publisher, out versionName);
             var newVersionConfig = ScriptableObject.CreateInstance<VersionConfig>();
@@ -452,13 +519,8 @@
             PlayerSettings.allowedAutorotateToPortraitUpsideDown = false;
             PlayerSettings.bundleVersion = VersionConfig.GetVersionNumber(newVersionConfig.version).ToString();
 
-            var grachicSettings = new SerializedObject(AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/GraphicsSettings.asset")[0]);
-            var lightmapStripping = grachicSettings.FindProperty("m_LightmapStripping");
-            lightmapStripping.intValue = 0;
-            var fogStripping = grachicSettings.FindProperty("m_FogStripping");
-            fogStripping.intValue = 0;
-
-            grachicSettings.ApplyModifiedProperties();
+            CSObjectWrapEditor.Generator.ClearAll();
+            CSObjectWrapEditor.Generator.GenAll();
         }
         catch (Exception ex)
         {

--
Gitblit v1.8.0