少年修仙传客户端代码仓库
client_Wu Xijin
2018-11-02 ed00ad63d06734707aa8dcc6fd407abb0b2f22c5
3335 资源打包使用7zip压缩
2个文件已修改
52 ■■■■■ 已修改文件
Core/GameEngine/Login/Launch.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Launch/AssetDeCompressTask.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Login/Launch.cs
@@ -56,19 +56,20 @@
#if UNITY_ANDROID && !UNITY_EDITOR
        if (!SDKUtility.builtinAssetCopyFinished)
        {
            SDKUtility.Instance.CopyOneAsset("builtin_assetbundle");
            SDKUtility.Instance.CopyOneAsset("builtin_assetbundle.manifest");
            SDKUtility.Instance.CopyOneAsset("builtin/music");
            SDKUtility.Instance.CopyOneAsset("builtin/music.manifest");
            SDKUtility.Instance.CopyOneAsset("builtin/prefabs");
            SDKUtility.Instance.CopyOneAsset("builtin/prefabs.manifest");
            SDKUtility.Instance.CopyOneAsset("builtin/sprite");
            SDKUtility.Instance.CopyOneAsset("builtin/sprite.manifest");
            SDKUtility.Instance.CopyOneAsset("config/Contact.txt");
            SDKUtility.Instance.CopyOneAsset("config/HelpInfo.txt");
            SDKUtility.Instance.CopyOneAsset("config/PriorBundle.txt");
            SDKUtility.Instance.CopyOneAsset("config/PriorLanguage.txt");
            SDKUtility.Instance.CopyOneAsset("builtin_assetbundle.7z");
            SDKUtility.Instance.CopyOneAsset("builtin_assetbundle.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/music.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/music.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/prefabs.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/prefabs.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/sprite.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/sprite.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("config/Contact.txt.7z");
            SDKUtility.Instance.CopyOneAsset("config/HelpInfo.txt.7z");
            SDKUtility.Instance.CopyOneAsset("config/PriorBundle.txt.7z");
            SDKUtility.Instance.CopyOneAsset("config/PriorLanguage.txt.7z");
            AssetDeCompressTask.Decompress();
            LocalSave.SetString("BuiltInAssetCopyCompleted_Android", VersionConfig.Get().version);
        }
#endif
@@ -189,7 +190,7 @@
                    }
                    progressBuf = progress;
                    var decompressProgress = AssetDeCompressTask.Decompress(ResourcesPath.Instance.ExternalStorePath);
                    var decompressProgress = AssetDeCompressTask.DecompressAync(ResourcesPath.Instance.ExternalStorePath);
                    while (!decompressProgress.done)
                    {
                        progress = progressBuf + decompressProgress.progress * 0.1f;
@@ -297,14 +298,6 @@
                        }
                        LocalSave.SetString("AssetCopyCompleted_IOS", VersionConfig.Get().version);
                        progressBuf = progress;
                        var decompressProgress = AssetDeCompressTask.Decompress(ResourcesPath.Instance.ExternalStorePath);
                        while (!decompressProgress.done)
                        {
                            progress = progressBuf + decompressProgress.progress * 0.1f;
                            yield return null;
                        }
                    }
                    break;
                case InstalledAsset.NullAsset:
System/Launch/AssetDeCompressTask.cs
@@ -7,7 +7,22 @@
public class AssetDeCompressTask
{
    public static DecompressProgress Decompress(string path)
    public static void Decompress(string path)
    {
        var files = new List<FileInfo>();
        FileExtersion.GetAllDirectoryFileInfos(path, files);
        foreach (var item in files)
        {
            var fullName = item.FullName;
            if (fullName.EndsWith(".7z"))
            {
                SevenZipUtility.DeCompress(fullName, Path.GetDirectoryName(fullName));
                File.Delete(fullName);
            }
        }
    }
    public static DecompressProgress DecompressAync(string path)
    {
        var progress = new DecompressProgress();
        var files = new List<FileInfo>();