/// <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(); } }
/// <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(); }
/// <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(); }
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)); } }
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(); }