DispatchEnd() public method

public DispatchEnd ( ) : void
return void
示例#1
0
        /// <summary>
        /// dispatch request event
        /// </summary>
        /// <param name="req"></param>
        /// <param name="isError"></param>
        static internal void DispatchReqAssetOperation(CRequest req, bool isError, int opID, bool backPool = true)
        {
            currLoaded++;

            OnProcess();
            try
            {
                if (isError)
                {
                    req.DispatchEnd();
                }
                else if (opID == 0 || completeOper.Contains(opID)) //正常回调
                {
                    completeOper.Remove(opID);
                    req.DispatchComplete();
                }
                else
                {
                    req.DispatchEnd();
                }
            }
            catch (System.Exception e)
            {
                Debug.LogError(e);
            }

            if (backPool)
            {
                req.ReleaseToPool();
            }
        }
示例#2
0
        /// <summary>
        /// dispatch request event
        /// </summary>
        /// <param name="req"></param>
        /// <param name="isError"></param>
        static internal void DispatchReqAssetOperation(CRequest req, bool isError)
        {
            var group = req.group;

            currLoaded++;

            OnProcess();
            try {
                if (isError)
                {
                    req.DispatchEnd();
                }
                else
                {
                    req.DispatchComplete();
                }
            } catch (System.Exception e) {
                Debug.LogError(e);
            }

            if (group != null)
            {
                group.Complete(req, isError);
            }

            req.ReleaseToPool();
        }
示例#3
0
        /// <summary>
        /// dispatch request event
        /// </summary>
        /// <param name="req"></param>
        /// <param name="isError"></param>
        static internal void DispatchReqAssetOperation(CRequest req, bool isError)
        {
            var group = req.group;

            if (isError)
            {
                req.DispatchEnd();
            }
            else
            {
                req.DispatchComplete();
            }

            if (group != null)
            {
                group.Complete(req, isError);
            }
#if HUGULA_PROFILER_DEBUG && !HUGULA_NO_LOG
            var now = System.DateTime.Now;
            var dt1 = now - req.beginQueueTime;
            var dt2 = now - req.beginLoadTime;
            Debug.LogFormat("<color=#0a9a0a>asset complete Request(asset={0},key={1}) alltime={2},loadtime={3};frame={4}</color>", req.assetName, req.key, dt1.TotalSeconds, dt2.TotalSeconds, Time.frameCount);
#endif

            req.ReleaseToPool();
        }
示例#4
0
 static public int DispatchEnd(IntPtr l)
 {
     try {
         Hugula.Loader.CRequest self = (Hugula.Loader.CRequest)checkSelf(l);
         self.DispatchEnd();
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
示例#5
0
        protected static void CallbackError(CRequest creq)
        {
#if HUGULA_LOADER_DEBUG
            Debug.LogFormat("4 <color=green>CallbackError DispatchEnd Req(assetname={0},url={1}) frame={2} </color>", creq.assetName, creq.url, Time.frameCount);
#endif
            List <CRequest> callbacklist = null;// requestCallBackList[creq.udKey];
            string          udkey        = creq.udKey;
            // load
            if (creq.isShared)
            {
                if (_instance.OnSharedErr != null)
                {
                    _instance.OnSharedErr(creq);
                }

                if (creq.pool)
                {
                    LRequestPool.Release(creq);
                }
            }
            else if (requestCallBackList.TryGetValue(udkey, out callbacklist))
            {
                requestCallBackList.Remove(udkey);
                int      count = callbacklist.Count;
                CRequest reqitem;
                for (int i = 0; i < count; i++)
                {
                    reqitem = callbacklist [i];
                    reqitem.DispatchEnd();
                    PopGroup(reqitem);
                }
                ListPool <CRequest> .Release(callbacklist);
            }
            else
            {
                creq.DispatchEnd();
                PopGroup(creq);
            }

            CheckAllComplete();
        }