/// <summary> /// 启动游戏所需要资源包校验,有需要则下载更新 /// </summary> private void ResourceUpdateVerify() { CCsvDataManager.Instance.LocalABVerDataMgr.LoadLocalABVerDataFile(); CCsvDataManager.Instance.SerABVerDataMgr.LoadServerABVerDataFile(); //校验csv和大厅资源 assetbundle bool ResourceNeedUpdate = false; ResourceNeedUpdate |= CResVersionCompareUpdate.CompareABVersionAndUpdate(GameDefine.DependenciesAssetBundleName, true); ResourceNeedUpdate |= CResVersionCompareUpdate.CompareABVersionAndUpdate(GameDefine.CsvAssetbundleName, true); #if !ScFish ResourceNeedUpdate |= CResVersionCompareUpdate.CompareABVersionAndUpdate(GameDefine.HallAssetbundleName, true); ResourceNeedUpdate |= CResVersionCompareUpdate.CompareABVersionAndUpdate(GameDefine.HallConstAssetBundleName, true); ResourceNeedUpdate |= CResVersionCompareUpdate.CompareABVersionAndUpdate(GameDefine.PokerAssetBundleName, true); ResourceNeedUpdate |= CResVersionCompareUpdate.CompareABVersionAndUpdate(GameDefine.HallBagIconAssetBundleName, true); ResourceNeedUpdate |= CResVersionCompareUpdate.CompareABVersionAndUpdate(GameDefine.HallAnimeAssetBundleName, true); #endif //android平台下检测apk是否需要更新 if (Application.platform == RuntimePlatform.Android) { bApkNeedUpdate = CResVersionCompareUpdate.CheckApkVerAndUpdate(m_SvrAppVerStr); } if (ResourceNeedUpdate || bApkNeedUpdate) { eLuancherState = LUANCHERSTATE.LuancherState_Downloading; } else { eLuancherState = LUANCHERSTATE.LuancherState_VerifyMD5; } }
/// <summary> /// 资源MD5检验 /// </summary> private void ResourceMD5Verify() { //string hallAssetMd5str = GameCommon.GenerateFileMd5(GameDefine.AssetBundleSavePath + GameDefine.HallAssetbundleName); List <string> filelist = DownLoadProcessMgr.Instance.DownloadOverFileNameList; bool md5crcSuccessed = true; if (EnableResMD5CRC) { for (int i = 0; i < filelist.Count; i++) { CServerABVerData filesvrdata = CCsvDataManager.Instance.SerABVerDataMgr.GetServerABVerData(filelist[i]); if (filesvrdata == null) { continue; } string filemd5 = GameCommon.GenerateFileMd5(GameDefine.AssetBundleSavePath + filelist[i]); if (filemd5.CompareTo(filesvrdata.AssetbundleMd5Str) != 0) { File.Delete(GameDefine.AssetBundleSavePath + filelist[i]); CResVersionCompareUpdate.CompareABVersionAndUpdate(filelist[i], true); Debug.Log(filelist[i] + " md5 CRC fialed"); md5crcSuccessed = false; } } } DownLoadProcessMgr.Instance.DownloadOverFileNameList.Clear(); if (md5crcSuccessed) { //apk更新下载完成执行安装 if (bApkNeedUpdate) { eLuancherState = LUANCHERSTATE.LuancherState_InstallAPK; } else { eLuancherState = LUANCHERSTATE.LuancherState_StartGame; } } else { eLuancherState = LUANCHERSTATE.LuancherState_Downloading; } }