/// <summary> /// 已经存在资源,或者加载失败后操作 /// </summary> /// <param name="id"></param> /// <param name="stPath"></param> private void LoaderOperater(string id, StResPath stPath) { ResLoaderOrder resLoaderOrder = this.GetWwwLoaderOrderByOrderName(id); if (resLoaderOrder == null) { return; } //刷新队列加载情况 resLoaderOrder.UpdateLoaderOrderState(stPath); //更新当前队列进度 UpdateListProgressHanler(resLoaderOrder); //触发单个文件完成 resLoaderOrder.InvokeLoaderFileComplete(stPath.path); //如果队列完成通知结束 if (resLoaderOrder.IsFinished()) { this._orderList.Remove(resLoaderOrder); resLoaderOrder.InvokeLoaderListComplete(); resLoaderOrder.Dispose(); resLoaderOrder = null; } //next LoadThreadManager.instance.CheckQueue(); }
/// <summary> /// 加载完成后操作 /// </summary> /// <param name="resLoader"></param> /// <param name="www"></param> private void LoaderOperater(ResLoader resLoader, WWW www) { if (resLoader == null) { return; } ResLoaderOrder resLoaderOrder = this.GetWwwLoaderOrderByOrderName(resLoader.ownerId); if (resLoaderOrder == null) { return; } bool existsStatus = ResDataManager.instance.ExistWWWData(resLoader.stResPath.path); if (!existsStatus) { VOAssetInfo resInfo = new VOAssetInfo(www, resLoader.stResPath.path, resLoader.stResPath.tag); if (www != null) { ResDataManager.instance.InsertWWWData(resInfo); } else { if (LoadThreadManager.showDebug) { Log.info("ResLoaderManager::InsertWWWData www is Null!!"); } } } //刷新队列加载情况 resLoaderOrder.UpdateLoaderOrderState(resLoader.stResPath); //加载完成,析构resLoader,解除loaderItem监听 resLoader.UnLoader(this.OnProgressHandler, this.OnCompleteHandler, this.OnErrorHandler, false); //更新当前队列进度 UpdateListProgressHanler(resLoaderOrder); //触发单个文件完成 resLoaderOrder.InvokeLoaderFileComplete(resLoader.stResPath.path); //如果队列完成通知结束 if (resLoaderOrder.IsFinished()) { this._orderList.Remove(resLoaderOrder); resLoaderOrder.InvokeLoaderListComplete(); resLoaderOrder.Dispose(); resLoaderOrder = null; } //next LoadThreadManager.instance.CheckQueue(); }
/// <summary> /// 空队列 /// </summary> /// <param name="id"></param> private void LoaderOperater(string id) { ResLoaderOrder resLoaderOrder = this.GetWwwLoaderOrderByOrderName(id); if (resLoaderOrder == null) { return; } this._orderList.Remove(resLoaderOrder); resLoaderOrder.InvokeLoaderListComplete(); resLoaderOrder.Dispose(); resLoaderOrder = null; //next LoadThreadManager.instance.CheckQueue(); }