Esempio n. 1
0
    /// <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();
    }
Esempio n. 2
0
    /// <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();
    }