private void ParseVersionFile(string content, Dictionary<string, LOCALFileInfo> dict) { if (content == null || content.Length == 0) { return; } string[] items = content.Split(new char[] { '\n' }); foreach (string item in items) { if (item.IndexOf("ver:") == 0) { continue; } string[] info = item.Split(new char[] { ',' }); if (info != null && info.Length == 3) { LOCALFileInfo fileinfo = new LOCALFileInfo(); fileinfo.md5 = info[1]; fileinfo.length = info[2]; dict.Add(info[0], fileinfo); } } }
private void CompareVersion() { foreach (var version in ServerResVersion) { string fileName = version.Key; string serverMd5 = version.Value.md5; //新增的资源 if (!LocalResVersion.ContainsKey(fileName)) { NeedDownFiles.Add(version.Key, version.Value); } else { //需要替换的资源 //string localMd5; LOCALFileInfo fileinfo = new LOCALFileInfo(); LocalResVersion.TryGetValue(fileName, out fileinfo); if (!serverMd5.Equals(fileinfo.md5)) { NeedDownFiles.Add(version.Key, version.Value); } } } //本次有更新,同时更新本地的version.txt NeedUpdateLocalVersionFile = NeedDownFiles.Count > 0; //UI显示 if(NeedUpdateLocalVersionFile) { _FileCount = NeedDownFiles.Count; _TempFileCount = _FileCount; _FileSize = GetNeedDownFilesSize(); _TempFileSize = _FileSize; GameObject obj = GameObject.Find("UpdateSrc"); obj.GetComponent<UpdateSrc>().updateSrcUI.GetComponent<UpdateSrcUI>().SetUpdateInfo("本次需更新" + _FileCount.ToString() + "个文件,共计" + _FileSize.ToString() + "M,请在wifi网络下点击更新按钮"); obj.GetComponent<UpdateSrc>().updateSrcUI.GetComponent<UpdateSrcUI>().SetButtonActive(true); } else { GameObject obj = GameObject.Find("UpdateSrc"); obj.GetComponent<UpdateSrc>().updateSrcUI.GetComponent<UpdateSrcUI>().SetUpdateInfo("检查版本文件内容完毕,开始进入游戏"); //更新完成 _UpdateComplete = true; } }