示例#1
0
    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);
        }
    }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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);
        }
示例#4
0
    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);
    }