/// <summary> /// 针对ObjectManager的异步加载接口 /// </summary> /// <param name="path"></param> /// <param name="resObj"></param> /// <param name="dealfinish"></param> /// <param name="priority"></param> public void AsyncLoadResource(string path, ResouceObj resObj, OnAsyncFinsih dealfinish, LoadResPriority priority) { ResouceItem item = GetCacheResouceItem(resObj.m_Crc); if (item != null) { resObj.m_ResItem = item; if (dealfinish != null) { dealfinish(path, resObj); } return; } //判断是否在加载中 AsyncLoadResParam para = null; if (!m_LoadingAssetDic.TryGetValue(resObj.m_Crc, out para) || para == null) { para = m_AsyncLoadResParamPool.Spawn(true); para.m_Crc = resObj.m_Crc; para.m_Path = path; para.m_Priority = priority; m_LoadingAssetDic.Add(resObj.m_Crc, para); m_LoadingAssetList[(int)priority].Add(para); } //往回调列表里面加回调 AsyncCallBack callBack = m_AsyncCallBackPool.Spawn(true); callBack.m_DealFinish = dealfinish; callBack.m_ResObj = resObj; para.m_CallBackList.Add(callBack); }
public void Reset() { m_DealObjFinish = null; m_DealFinish = null; m_Param1 = null; m_Param2 = null; m_Param3 = null; m_ResObj = null; }