少年修仙传客户端基础资源
client_Wu Xijin
2019-02-14 54fad068f41ba7b0d2f16699a3f774be2a0d84e9
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("正在压缩资源", 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);
@@ -212,6 +247,17 @@
                }
            }
            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);
                }
            }
            for (int i = fromFiles.Count - 1; i >= 0; i--)
            {
                var item = fromFiles[i];
@@ -225,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")
@@ -246,7 +291,6 @@
#elif UNITY_IOS
                File.Copy(item.FullName,to,true);
#endif
                completeCount++;
            }
@@ -263,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("正在压缩资源", 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
@@ -328,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;
@@ -355,12 +428,12 @@
        if (_development)
        {
            var apkName = StringUtility.Contact(_output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", _buildIndex, "_development.apk");
            //BuildPipeline.BuildPlayer(baseLevels, apkName, BuildTarget.Android, BuildOptions.Development | BuildOptions.ConnectWithProfiler | BuildOptions.AllowDebugging);
            BuildPipeline.BuildPlayer(baseLevels, apkName, BuildTarget.Android, BuildOptions.Development | BuildOptions.ConnectWithProfiler | BuildOptions.AllowDebugging);
        }
        else
        {
            var apkName = StringUtility.Contact(_output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", _buildIndex, ".apk");
            //BuildPipeline.BuildPlayer(baseLevels, apkName, BuildTarget.Android, BuildOptions.None);
            BuildPipeline.BuildPlayer(baseLevels, apkName, BuildTarget.Android, BuildOptions.None);
        }
    }
@@ -384,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");
@@ -413,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>();
@@ -441,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)
        {