public override void FixedUpdate() { m_finishedLoader.Clear(); foreach (var kv in m_activeLoader) { IResLoader ld = kv.Value; if (ld.IsLoadFinish()) { m_resPool[ld.ResPath] = ld.AssetObject; ld.CallBack(); ld.Reset(); m_finishedLoader.Add(ld); } } for (int i = 0; i < m_finishedLoader.Count; i++) { IResLoader ld = m_finishedLoader[i]; m_activeLoader.Remove(ld.ResPath); ResLoaderFactory.RecycleLoader(ld); } }
/// <summary> /// 异步加载AssetBundle资源 /// </summary> /// <param name="bundleName">assetBundle名称</param> /// <param name="assetName">资源名称</param> /// <param name="listener"></param> public AssetBundleLoader LoadAsync(string bundleName, string assetName, ResNotificationListener listener) { var loader = ResLoaderFactory.CreateAssetBundleLoader(bundleName, assetName, listener); loader.LoadAsync(); return(loader); }
/// <summary> /// 异步加载Resource资源 /// </summary> /// <param name="assetName">资源名称</param> /// <param name="listener"></param> public ResourceLoader LoadAsync(string assetName, ResNotificationListener listener) { var loader = ResLoaderFactory.CreateResourceLoader(assetName, listener); loader.LoadAsync(); return(loader); }
private IResLoader GetLoader(string path, EResType type) { IResLoader loader; if (!m_activeLoader.ContainsKey(path)) { loader = ResLoaderFactory.GetLoader(type); loader.SetResPath(path, type); } else { loader = m_activeLoader[path]; } return(loader); }