//获取每个版本包的信息
        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
        }
Beispiel #3
0
        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;
 }