Пример #1
0
        public static PatchInfo DifferAllFiles(string[] files1, string[] files2, string[] dir1, string[] dir2, string version,
                                               string path_OldStandAlone, string path_NewStandAlone, ref float progressStat)
        {
            MD5Lib    md5_1    = new MD5Lib();
            MD5Lib    md5_2    = new MD5Lib();
            FilesInfo md_path1 = new FilesInfo();
            FilesInfo md_path2 = new FilesInfo();

            md5_1 = AddToDictionary(md5_1, files1, dir1, path_OldStandAlone.Length, md_path1, ref progressStat);
            md5_2 = AddToDictionary(md5_2, files2, dir2, path_NewStandAlone.Length, md_path2, ref progressStat);
            return(DictionaryCompare(md5_1, md5_2, version, path_OldStandAlone));
        }
Пример #2
0
        public static MD5Lib AddToDictionary(MD5Lib md5, string[] files, string[] dirs, int length, FilesInfo path, ref float progressStat)
        {
            float counter = 0;

            try
            {
                foreach (string filename in files)
                {
                    string file = filename.Substring(length).ToString().Replace(@"\", "/");
                    path.FilePath = filename.ToString().Replace(@"\", "/");
                    path.FileMD5  = FileHelper.FindMD5(filename);
                    md5.Files.Add(file, path);
                    progressStat = counter / files.Length;
                    counter++;
                }

                foreach (string dir in dirs)
                {
                    string subdir = dir.Substring(length).ToString().Replace(@"\", "/");
                    path.FilePath = dir.ToString().Replace(@"\", "/");
                    path.FileMD5  = "";
                    md5.Files.Add(subdir, path);
                }
            }
            catch (Exception ex)
            {
                Debug.Log(ex.Message);
            }
            return(md5);
        }