// 获取版本号 IEnumerator GetResVersion(DelegateGetResVersion delFun) { LogMgr.UnityLog("ger version form " + m_resServerUrl + "/" + VersionFileName); WWW wwwVersionFile = new WWW(m_resServerUrl + "/" + VersionFileName); yield return(wwwVersionFile); if (null != wwwVersionFile.error) { LogMgr.UnityLog(wwwVersionFile.error); delFun(false); } else { if (!int.TryParse(wwwVersionFile.text, out m_remoteVersion)) { delFun(false); } else { delFun(true); } } }
// 获取版本号 IEnumerator GetResVersion(DelegateGetResVersion delFun) { // 读取本地版本号文件 m_localVersion = -1; int appVersion = -1; string localVersionFilePath = LocalVersionPath + "/" + VersionFileName; // 本地下载的版本号文件 android在data/包名下 ios在Document/ string AppVersionFilePath = GetAppDataUrl(AppVersionFolder, VersionFileName); //包体里的版本号文件 if (File.Exists(localVersionFilePath)) { LogModule.DebugLog("read local version:" + localVersionFilePath.ToString()); if (!Utils.GetFileInt(localVersionFilePath, out m_localVersion)) { LogModule.ErrorLog("parse version error"); } } WWW wwwAppVersionFile = new WWW(AppVersionFilePath); yield return(wwwAppVersionFile); if (!string.IsNullOrEmpty(wwwAppVersionFile.error)) { LogModule.DebugLog("read app version:" + AppVersionFilePath.ToString() + " error:" + wwwAppVersionFile.error); } else { if (!int.TryParse(wwwAppVersionFile.text, out appVersion)) { LogModule.ErrorLog("parse app path version error"); } } if (appVersion > m_localVersion) //包体版本号大于本地下载,如新包覆盖安装,则清除本地下载记录 { // clean read path LogModule.DebugLog("app version is bigger than local, clean local path"); Utils.DeleteFolder(LocalVersionPath); Utils.DeleteFolder(BundleManager.LocalPathRoot); m_localVersion = appVersion; } // 读取远程版本号文件 LogModule.DebugLog("ger version form " + m_resServerUrl + "/" + VersionFileName); WWW wwwVersionFile = null; yield return(StartCoroutine(DownloadHelper.GetCDNWWW(m_resServerUrl + "/" + VersionFileName, value => wwwVersionFile = value))); if (!string.IsNullOrEmpty(wwwVersionFile.error)) { LogModule.ErrorLog(wwwVersionFile.error); delFun(false); } else { if (!int.TryParse(wwwVersionFile.text, out m_remoteVersion)) { delFun(false); } else { LogModule.DebugLog("get version form " + m_resServerUrl + "/" + ResLevelIndexFileName); WWW wwwResLevelIndexFile = null; yield return(StartCoroutine(DownloadHelper.GetCDNWWW(m_resServerUrl + "/" + ResLevelIndexFileName, value => wwwResLevelIndexFile = value))); if (!string.IsNullOrEmpty(wwwResLevelIndexFile.error)) { LogModule.ErrorLog(wwwResLevelIndexFile.error); delFun(false); } else { delFun(true); } } } }