/// <summary> /// 加载本地的配置文件完毕 /// 去往下一个状态 /// </summary> /// <param name="obj"></param> private void LoadResConfigComplete(LancherLoadData obj) { CodeBridgeTool.instance.SignTaskProgress(TaskID.LoadResConfig, 1f); //sm.ChangeState<ResolveDLLState>(); sm.ChangeState <LoadLogoVideoState>(); }
private void StateComplete(LancherLoadData obj) { CodeBridgeTool.instance.SignTaskProgress(TaskID.LoadServerConfig, 1); //加载决定是远程还是本地的配置文件 if (!context.needUpdateGame) { sm.ChangeState <LoadResConfigState>(); } }
/// <summary> /// 保存文本到Bridge /// </summary> /// <param name="arg1"></param> /// <returns></returns> private Promise <LancherLoadData> SaveTextToBridge(LancherLoadData www) { var promise = new Promise <LancherLoadData>(); CodeBridgeTool.instance.localResText = LancherEncodingUtils.GetString(www.bytes); promise.Resolve(www); return(promise); }
/// <summary> /// 存储Logo视频到本地缓存中 /// </summary> /// <param name="www"></param> /// <returns></returns> private Promise <LancherLoadData> SaveLogoVideoToCache(LancherLoadData www) { var promise = new Promise <LancherLoadData>(); var path = GetLogoVideoCachePath(); System.IO.File.WriteAllBytes(path, www.bytes); promise.Resolve(www); return(promise); }
private IPromise <LancherLoadData> NoticeRepose(LancherLoadData arg1) { var promise = new Promise <LancherLoadData>(); var text = LancherEncodingUtils.GetString(arg1.bytes); this.ResolveJson(text); ReSortList(); promise.Resolve(arg1); return(promise); }
/// <summary> /// 解析WWW读的文件 然后准备HTTP服务器地址 /// </summary> /// <param name="_www"></param> /// <returns></returns> private Promise <LancherLoadData> ParseWWWPrepareServerPath(LancherLoadData _www) { var promise = new Promise <LancherLoadData>(); var text = LancherEncodingUtils.GetString(_www.bytes); if (text.Length == 0) { promise.Reject(new Exception(LancherConstTable.LoadConfigError)); return(promise); } var infoArray = text.Split(';'); if (infoArray.Length > 5) { var channelStr = string.Format("{0}-{1}-{2}-{3}", infoArray[1], infoArray[2], infoArray[3], infoArray[4]).Trim(); if (infoArray.Length >= 6)// { CodeBridgeTool.instance.SetUpdateBulidNum(infoArray[5]); } // 记录当前客户端的 游戏版本号 if (infoArray.Length >= 8) { context.localGameVersion = infoArray[7]; } context.serverURL = string.Format("{0}?op_channel={1}", WWW.UnEscapeURL(infoArray[0].ToString()), channelStr); promise.Resolve(_www); return(promise); } else { promise.Reject(new Exception(LancherConstTable.ParseConfigFileError)); return(promise); } }
/// <summary> /// 加载服务器Json后 /// </summary> /// <param name="_www"></param> /// <returns></returns> private Promise <LancherLoadData> LoadServerJson(LancherLoadData _www) { var promise = new Promise <LancherLoadData>(); context.serverInfo = JsonUtility.FromJson <TgameSvrInfo>(LancherEncodingUtils.GetString(_www.bytes)); if (context.serverInfo != null) { //成功获取到服务器的信息 LancherPrefs.SetInt(LancherPrefsConst.Need_Code, context.serverInfo.needCode ? 1 : 0); LancherPrefs.SetString(LancherPrefsConst.Channel, context.serverInfo.opChannel); promise.Resolve(_www); CompareGameVersion(); } else { promise.Reject(new Exception(LancherConstTable.ParseServerFileError)); } return(promise); }
/// <summary> /// 开始加载服务器的配置文件 /// </summary> /// <param name="obj"></param> private void JumpToLoadHttpServerConfig(LancherLoadData obj) { CodeBridgeTool.instance.SignTaskProgress(TaskID.LoadLocalConfig, 1); sm.ChangeState <LoadServerConfigState>(); }