/// <summary> /// 初始化. /// </summary> /// <param name="iTarget">下载目标.</param> /// <param name="iOnStart">开始事件委托.</param> /// <param name="iOnSuccessed">成功事件委托.</param> /// <param name="iOnFailed">失败事件委托.</param> /// <param name="iLocalSave">本地保存标志位.</param> /// <param name="iType">下载对象类型.</param> public void Init( DownloadTargetInfo iTarget, OnStart iOnStart, OnSuccessed iOnSuccessed, OnFailed iOnFailed) { this._target = iTarget; this.DownloadBaseUrl = ServersConf.GetBundleDownloadBaseURL(iTarget); this.FileName = UploadList.GetLocalBundleFileName(iTarget.ID, iTarget.FileType); this.FullFileName = string.Format("{0}/{1}", this.DownloadDir, this.FileName); this.onStart = iOnStart; this.onSuccessed = iOnSuccessed; this.onFailed = iOnFailed; this.Retries = ServersConf.GetInstance().NetRetries; this.TimeOut = ServersConf.GetInstance().NetTimeOut * 1000; if (TBundleType.Scene != iTarget.BundleType) { this.TargetType = TargetType.BundleOfNormal; } else { this.TargetType = TargetType.BundleOfScenes; } // 检查目录 if (Directory.Exists(this.DownloadDir) == false) { Directory.CreateDirectory(this.DownloadDir); } }
/// <summary> /// 创建上传者. /// </summary> /// <param name="iTarget">上传目标.</param> /// <param name="iOnStart">开始上传委托.</param> /// <param name="iOnFailed">上传失败委托.</param> /// <param name="iOnSuccessed">上传成功委托.</param> /// <param name="iUploadWay">上传方式.</param> public static Uploader Create( UploadItem iTarget, OnStart iOnStart, OnFailed iOnFailed, OnSuccessed iOnSuccessed, TUploadWay iUploadWay = TUploadWay.Ftp) { Uploader objRet = new Uploader(); objRet.Init(iTarget, iOnStart, iOnFailed, iOnSuccessed, iUploadWay); return(objRet); }
/// <summary> /// 创建Downloader. /// </summary> /// <param name="iTargetInfo">下载目标.</param> /// <param name="iOnStart">开始委托回调.</param> /// <param name="iOnSuccessed">成功委托回调.</param> /// <param name="iOnFailed">失败委托回调.</param> /// <param name="iRetries">重下载次数.</param> /// <param name="iTimeOut">超时时间(单位:秒).</param> public static WWWDownloader Create( DownloadTargetInfo iTargetInfo, OnStart iOnStart, OnSuccessed iOnSuccessed, OnFailed iOnFailed) { WWWDownloader downloader = new WWWDownloader(); if (downloader != null) { // 初始化 downloader.Init(iTargetInfo, iOnStart, iOnSuccessed, iOnFailed); return(downloader); } else { UtilsLog.Error("Create", "Downloader Create failed!!"); return(null); } }
/// <summary> /// 初始化. /// </summary> /// <param name="iTarget">上传目标.</param> /// <param name="iOnStart">开始上传委托.</param> /// <param name="iOnFailed">上传失败委托.</param> /// <param name="iOnSuccessed">上传成功委托.</param> /// <param name="iUploadWay">上传方式.</param> private void Init( UploadItem iTarget, OnStart iOnStart, OnFailed iOnFailed, OnSuccessed iOnSuccessed, TUploadWay iUploadWay = TUploadWay.Ftp) { this._target = iTarget; this._onStart = iOnStart; this._onFailed = iOnFailed; this._onSuccessed = iOnSuccessed; this._uploadWay = iUploadWay; this.Retries = ServersConf.GetInstance().NetRetries; if (this._server == null) { this._server = ServersConf.GetInstance().UploadServer; } this.UploadBaseUrl = ServersConf.GetBundleUploadBaseURL(this._server, this._target); this.FileName = UploadList.GetLocalBundleFileName(this._target.ID, this._target.FileType); }
public void Success(string data) { ResultRoot = JsonMapper.ToObject(data); IDictionary mapper = ResultRoot as IDictionary; if (mapper.Contains(FailedKeyField) && (ResultRoot.Int(FailedKeyField) != SuccessKeyValue)) { string errorCodeValue = ResultRoot[FailedKeyField].ToString(); int errorCode = int.Parse(errorCodeValue); Failed?.Invoke(errorCode); } else { if (mapper.Contains(DataKeyField)) { ResultData = ResultRoot[DataKeyField]; } else { ResultData = ResultRoot; } mDataMapper = ResultData as IDictionary; OnSuccessed?.Invoke(this); SuccessForCustom?.Invoke(data); } ResultRoot?.Clear(); ResultData?.Clear(); ResultRoot = default; ResultData = default; OnSuccessed = default; SuccessForCustom = default; Failed = default; Error = default; }