/// <summary> /// 获取版本号 /// </summary> public static string GetLocalPatchVersion() { string version = string.Empty; if (string.IsNullOrEmpty(AppConst.Version)) { if (File.Exists(Util.DataPath + AppConst.PatchList)) { FilesConfig filelist = JsonHelp.LoadFromJsonFile <FilesConfig>(Util.DataPath + AppConst.PatchList); if (filelist != null) { string versionFloder = filelist.VerRevision.GetTxt(); version = versionFloder; } } } else { version = AppConst.Version; } return(version); }
IEnumerator OnExtractResource() { string dataPath = Util.DataPath; //数据目录 string resPath = Util.AppContentPath(); //游戏包资源目录 StringBuilder kTips = null; if (Directory.Exists(dataPath)) { Directory.Delete(dataPath, true); } Directory.CreateDirectory(dataPath); string infile = resPath + AppConst.PublishServerList; string outfile = dataPath + AppConst.PublishServerList; if (File.Exists(outfile)) { File.Delete(outfile); } string message = "正在解包文件:>" + AppConst.PublishServerList; Util.Log("Serverlist", infile); Util.Log("Serverlist", outfile); if (Application.platform == RuntimePlatform.Android) { WWW www = new WWW(infile); yield return(www); if (www.isDone) { File.WriteAllBytes(outfile, www.bytes); } www.Dispose(); www = null; yield return(0); } else { File.Copy(infile, outfile, true); } yield return(new WaitForEndOfFrame()); infile = resPath + AppConst.PatchList; outfile = dataPath + AppConst.PatchList; if (File.Exists(outfile)) { File.Delete(outfile); } message = "正在解包文件:>" + AppConst.PatchList; Util.Log("Game", infile); Util.Log("Game", outfile); if (Application.platform == RuntimePlatform.Android) { WWW www = new WWW(infile); yield return(www); if (www.isDone) { File.WriteAllBytes(outfile, www.bytes); } www.Dispose(); www = null; yield return(0); } else { File.Copy(infile, outfile, true); } yield return(new WaitForEndOfFrame()); //释放所有文件到数据目录 FilesConfig filelist = JsonHelp.LoadFromJsonFile <FilesConfig>(outfile); List <ResInfo> mShardInfos = filelist.mShardInfos; int filesLen = mShardInfos.Count; int cur = 0; for (int i = 0; i < filesLen; i++) { string f = mShardInfos[i].ResName; infile = resPath + f; // outfile = dataPath + f; cur++; float value = cur / (float)filesLen; message = "正在解包文件:>" + f; kTips = new StringBuilder(); kTips.Append(message); kTips.Append(string.Format("{0:P}", value)); AppFacade.Instance.SendMessageCommand(NotiConst.UPDATE_MESSAGE, kTips.ToString()); AppFacade.Instance.SendMessageCommand(NotiConst.UPDATE_PROGRESS, value); string dir = Path.GetDirectoryName(outfile); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } if (Application.platform == RuntimePlatform.Android) { WWW www = new WWW(infile); yield return(www); if (www.isDone) { File.WriteAllBytes(outfile, www.bytes); } www.Dispose(); www = null; yield return(0); } else { if (File.Exists(outfile)) { File.Delete(outfile); } File.Copy(infile, outfile, true); } yield return(new WaitForEndOfFrame()); } message = "解包完成!!!"; AppFacade.Instance.SendMessageCommand(NotiConst.UPDATE_MESSAGE, message); yield return(new WaitForSeconds(0.1f)); message = string.Empty; if (AppConst.UpdateMode) { StartCoroutine(OnUpdateResource());//释放完成,开始启动更新资源 } else { OnResourceInited(); Invoke("OnUpdateFinsh", 0.1f); } }