public void Reset() { m_DealFinish = null; m_Param1 = null; m_Param2 = null; m_Param3 = null; }
public void AsyncLoadResource(string path, OnLoadResFinish dealFinish, LoadResPriority priority, object param1 = null, object param2 = null, object param3 = null, uint crc = 0) { if (crc == 0) { crc = Crc32.GetCrc32(path); } ResourceItem item = GetCacheResourceItem(crc); if (item != null) { if (dealFinish != null) { dealFinish(path, item.m_Obj, param1, param2, param3); } return; } //判断是否在加载中 AsyncLoadResInfo para = null; if (!m_LoadingAssetDic.TryGetValue(crc, out para) || para == null) { para = m_AsyncLoadResParamPool.Spawn(); para.m_Crc = crc; para.m_Path = path; para.m_Priority = priority; m_LoadingAssetDic.Add(crc, para); m_LoadingAssetList[(int)priority].Add(para); } //往回调列表里面加回调 AsyncLoadResCallBackInfo callBack = m_AsyncCallBackPool.Spawn(); callBack.m_DealFinish = dealFinish; callBack.m_Param1 = param1; callBack.m_Param2 = param2; callBack.m_Param3 = param3; para.m_CallBackList.Add(callBack); }