//获取每个版本包的信息 private VersionData DownloadVersionData(Version version) { //下载版本信息 infoAct("Download VersionInfo " + version.ToString()); string versionDataPath = Path.Combine(PathConfig.GetBundleResourcesFolderByVersion(version), PathConfig.VersionDataName + ".xml"); string versionData = DownloadManager.Instance.DownLoadText(versionDataPath, errorAct); if (versionData == null) { infoAct("Download VersionInfo Fail"); Debug.logger.LogError("Download Fail", "Download VersionInfo Fail"); return null; } VersionData data = VersionData.ParseXml(XDocument.Parse(versionData)); //检查应用版本信息 if (!CheckAppVersion(data)) { infoAct("You need update your app"); appUpdateAct(data.appVersion); return null; } return data; }
public override void OnInspectorGUI() { VersionData data = target as VersionData; GUILayout.Label("当前资源版本:" + data.resVersion.ToString(), GUIHelper.MakeHeader(30)); GUILayout.Label("当前应用版本:" + data.appVersion.ToString(), GUIHelper.MakeHeader(30)); //TODO }
public static VersionData ParseXml(XDocument xDoc) { VersionData data = ScriptableObject.CreateInstance <VersionData>(); data.resVersion = Version.GetValue(xDoc.Root.Element("ResVersion").Value); data.appVersion = Version.GetValue(xDoc.Root.Element("AppVersion").Value); data.MD5 = xDoc.Root.Element("MD5").Value; return(data); }
//依次下载版本 private void DownloadVersionResources(List<Version> verionToDownloadList) { //下载列表 List<VersionData> resToDownload = new List<VersionData>(); foreach (Version ver in verionToDownloadList) { Version version = ver; VersionData data = DownloadVersionData(version); if (data == null) { finishAct(false); } else { resToDownload.Add(data); } } AddDownloadTask(resToDownload); }
//检查应用版本 private bool CheckAppVersion(VersionData data) { return Version.Compare(VersionManager.Instance.versionData.appVersion, data.appVersion) >= 0; }