Пример #1
0
        private AsyncAssetProxy LoadAssetProxy_discard <T>(AssetType assetType, string assetName
                                                           , Action <T> action, Action <float> progress) where T : Object
        {
            AsyncAssetProxy proxy = PoolMgr.Instance.GetCsharpObject <AsyncAssetProxy>();

            proxy.InitProxy(assetType, assetName);
            CoroutineMgr.Instance.RunCoroutine(LoadAssetAsync_discard <T>(assetType, assetName, proxy, action, progress));
            return(proxy);
        }
Пример #2
0
        /// <summary>
        /// 异步从AssetBundle加载资源;
        /// </summary>
        /// <param name="assetType">资源类型</param>
        /// <param name="assetName">资源名字</param>
        /// <param name="progress">加载进度</param>
        /// <param name="isUsePool">资源是否使用对象池</param>
        /// <returns>异步代理</returns>
        public AsyncAssetProxy LoadAssetProxy(AssetType assetType, string assetName, Action <float> progress, bool isUsePool)
        {
            AsyncAssetProxy     proxy    = PoolMgr.Instance.GetCsharpObject <AsyncAssetProxy>();
            AssetBundleLoadNode loadNode = AssetBundleMgr.Instance.GetAssetBundleLoadNode(assetType, assetName);

            loadNode.AddLoadProgressCallBack(progress);
            proxy.InitProxy(assetType, assetName, loadNode, isUsePool);
            _asyncProxyQueue.Enqueue(proxy);
            return(proxy);
        }