/// <summary> /// 执行获取服务器版本信息 /// </summary> /// <returns></returns> public void doObtainServerVersionConfig(Action <bool> completecallback) { mServerVersionConfigHotUpdateCompleteCB = completecallback; //拉取服务器热更资源信息与本地资源热更信息进行比较 TWebRequest twr = new TWebRequest(); //URL = 热更新URL + 服务器版本信息文件名(ServerVersionConfig.json) var url = mHotUpdateURL + ServerVersionConfigFileName;; twr.enqueue(url, serverVersionConfigCompleteCB); twr.startRequest(); }
/// <summary> /// 执行资源热更新 /// </summary> /// <param name="newresourcehotupdate"></param> /// <param name="completecallback"></param> public void doResourceHotUpdate(int newresourcehotupdate, Action <bool> completecallback) { Debug.Log("doResourceHotUpdate()"); mResourceHotUpdateCompleteCB = completecallback; //拉取服务器热更资源信息与本地资源热更信息进行比较 TWebRequest twr = new TWebRequest(); //URL = 基础URL + 当前版本号 + "/" + 热更资源信息文件名(ResourceUpdateList.txt) var url = mHotUpdateURL + VersionConfigModuleManager.Singleton.GameVersionConfig.VersionCode.ToString("0.0") + "/" + ResourceUpdateListFileName; mHotResourceUpdateRequest.resetRequest(); twr.enqueue(url, resourceListHotUpdateCompleteCB); twr.startRequest(); }
/// <summary> /// 初始化请求类库实例 /// </summary> /// <param name="config">config</param> private void InitRequestInstance(YouzikuConfig config) { switch (config.RequestBehavior) { case RequestBehaviorEnum.HttpClient: HttpRequestClient = new THttpClient(); break; case RequestBehaviorEnum.HttpWebRequest: HttpRequestClient = new TWebRequest(); break; } }
/// <summary> /// 检查资源热更 /// </summary> /// <param name="completecallback">资源热更完成回调</param> public void checkResourceHotUpdate(Action <int, bool> completecallback) { if (HotUpdateSwitch) { mResourceHotUpdateCompleteCB = completecallback; if (VersionConfigManager.Singleton.needResourceHotUpdate(HotUpdateResourceCode)) { //拉取服务器热更资源信息与本地资源热更信息进行比较 TWebRequest twr = new TWebRequest(); var url = TestResourceURL + ResourceUpdateListFileName; twr.enqueue(url, resourceListHotUpdateCompleteCB); twr.startRequest(); } else { DIYLog.Log(string.Format("服务器资源版本号 : {0}小于或等于本地资源版本号 : {1},不需要资源热更!", HotUpdateResourceCode, VersionConfigManager.Singleton.GameVersionConfig.ResourceVersionCode)); mResourceHotUpdateCompleteCB(VersionConfigManager.Singleton.GameVersionConfig.ResourceVersionCode, true); } } }
/// <summary> /// 热更资源列表下载完成回调 /// </summary> /// <param name="url"></param> /// <param name="requeststatus"></param> private void resourceListHotUpdateCompleteCB(string url, TWebRequest.WebRequestStatus requeststatus) { //TODO: if (mTestHotUpdateResourceList.Count > 0) { AssetBundlePath.CheckAndCreateABOutterPathFolder(); //StartCoroutine(resourcesRequest()); TWebRequest twr = new TWebRequest(); foreach (var res in mTestHotUpdateResourceList) { var finalurl = TestResourceURL + res; twr.enqueue(finalurl, singleResourceHotUpdateCompleteCB); } twr.startRequest(); } else { DIYLog.Log("没有热更资源需要下载!资源热更完成!"); mResourceHotUpdateCompleteCB(HotUpdateResourceCode, true); } }
public HotUpdateModuleManager() { HotUpdateSwitch = true; mHotUpdateConfigFilePath = ConfigFolderPath + mVersionConfigFileName; mHotUpdateConfig = null; mHotUpdateURL = string.Empty; mHotUpdateResourceTotalNumber = 0; VersionHotUpdateCacheFolderPath = Application.persistentDataPath + "/download/"; mVersionHotUpdateFileName = string.Empty; HotVersionUpdateRequest = new TWebRequest(); mVersionHotUpdateCompleteCB = null; mNeedHotUpdateResourceMap = new SortedDictionary <int, List <string> >(); mResourceHotUpdateCompleteCB = null; mResourceUpdateListMap = new Dictionary <int, List <string> >(); mLocalUpdatedResourceMap = new SortedDictionary <int, List <string> >(); LocalResourceUpdateListFilFolderPath = Application.persistentDataPath + "/ResourceUpdateList/"; LocalResourceUpdateListFilePath = LocalResourceUpdateListFilFolderPath + ResourceUpdateListFileName; mHotResourceUpdateRequest = new TWebRequest(); }
/// <summary> /// 初始化请求类库实例 /// </summary> private void InitRequestInstance() { HttpRequestClient = new TWebRequest(); }