//加载配置文件 public bool LoadConfigFile() { FilePackLocal = new XML_FilePack(ResPath.LocalPath + ResPath.CurrentPathName); PackMD5Local = new XML_PackMD5(ResPath.LocalPath + ResPath.CurrentPathName); PackDependLocal = new XML_PackDepend(ResPath.LocalPath + ResPath.CurrentPathName); return(true); }
//更新 public void Update(string packname, XML_PackDepend remote) { Info infoLocal = InfoList.Find(item => item.PackName == packname); Info infoRemote = remote.InfoList.Find(item => item.PackName == packname); if (infoLocal == null) { infoLocal = new Info(infoRemote); InfoList.Add(infoLocal); } infoLocal.Update(infoRemote); }
//清除更新残留数据 public void ClearUpdateData() { if (PackMD5Remote != null) { PackMD5Remote.Clear(); PackMD5Remote = null; } if (PackMD5Local != null) { PackMD5Local.Clear(); PackMD5Local = null; } if (FilePackRemote != null) { FilePackRemote.Clear(); FilePackRemote = null; } if (FilePackLocal != null) { FilePackLocal.Clear(); FilePackLocal = null; } if (PackDependRemote != null) { PackDependRemote.Clear(); PackDependRemote = null; } if (PackDependLocal != null) { PackDependLocal.Clear(); PackDependLocal = null; } if (UpdateList != null) { UpdateList.Clear(); UpdateList = null; } if (SuccList != null) { SuccList.Clear(); SuccList = null; } if (FailList != null) { FailList.Clear(); FailList = null; } }
//协程 下载PackDepend.xml IEnumerator Coroutine_DownloadPackDepend() { string url = ResPath.GetServerURL(ResPath.PackDependFileName); WWW down = new WWW(url); while (!down.isDone) { yield return(down); } if (down.isDone && down.error == null) {//保存 ResUtil.SaveFile(down.bytes, ResPath.LocalTempCachePath, ResPath.PackDependFileName); } else { Debug.LogWarning("WWW failed, url:" + url + ", isDone:" + down.isDone + ", error:" + down.error); } PackDependRemote = new XML_PackDepend(ResPath.LocalTempCachePath); PackDependLocal = new XML_PackDepend(ResPath.LocalPath + ResPath.CurrentPathName); --DownXmlCount; }