Exemplo n.º 1
0
    /// <summary>
    /// 检查文件数量和记录的版本号
    /// </summary>
    /// <returns></returns>
    private List <IDownloadItem> CheckHotfixFile()
    {
        View.SetText(I18NManager.Get("Update_CheckFile"));

        int           loadedFileCount = 0;
        DirectoryInfo directoryInfo   = new DirectoryInfo(AssetLoader.ExternalHotfixPath);

        DirectoryInfo[] dirs = directoryInfo.GetDirectories();
        foreach (var dir in dirs)
        {
            loadedFileCount += dir.GetFiles("*", SearchOption.AllDirectories).Length;
        }

        indexFile = GetIndexFile();

        if (loadedFileCount >= indexFile.FileItems.Count && FileUtil.ReadFileText(FileChecker.HotfixRecordPath) ==
            _hotVersionPb.Version + "_" + _hotVersionPb.HotVersion)
        {
            //检查文件数量 核对记录文件的版本号
            return(null);
        }

        View.SetText("");
        FileChecker checker = new FileChecker();

        return(checker.GetReloadHotfixFiles(indexFile));
    }
Exemplo n.º 2
0
    static public void GenerateHotfixIndexFile()
    {
        HotfixIndexFile indexFile = new HotfixIndexFile();

#if UNITY_IOS
        FileInfo mainfestFile = new FileInfo(HotfixBuild.BundleFilesDir + "/iOS");
#else
        FileInfo mainfestFile = new FileInfo(HotfixBuild.BundleFilesDir + "/Android");
#endif
        if (mainfestFile.Exists)
        {
            indexFile.AddFile(mainfestFile);
        }


        FileInfo[] files = GetDirFiles(HotfixBuild.HotfixDir);
        for (int i = 0; i < files.Length; i++)
        {
            indexFile.AddFile(files[i]);
        }

        int    version  = HotfixBuild.GetHotfixVersion();
        string fileName = HotfixBuild.HotfixDir + "/HotfixConfig_v" + version + ".zip";
        indexFile.GenerateBin(fileName, HotfixFileFormat.EncryptZip, version);

        ClipBoard.Copy(MD5Util.Get(fileName));

        EditorUtility.DisplayDialog("GenerateHotfixIndexFile", "生成HotfixIndexFile完成!", "Close");
    }
Exemplo n.º 3
0
 private HotfixIndexFile GetIndexFile()
 {
     byte[] bytes = FileUtil.ReadBytesFile(_hotfixConfigPath);
     indexFile = HotfixIndexFile.Deserialize(bytes);
     return(indexFile);
 }