Ejemplo n.º 1
0
 public AssetHandler InstanceBatchAssetAsync(
     string[] addresses,
     OnAssetLoadComplete complete,
     OnBatchAssetLoadComplete batchComplete)
 {
     return(assetMgr.InstanceBatchAssetAsync(addresses, null, complete, null, batchComplete, AssetLoaderPriority.Default, null));
 }
Ejemplo n.º 2
0
 public AssetHandler InstanceBatchAssetAsync(
     string[] addresses,
     OnBatchAssetLoadComplete batchComplete,
     SystemObject userData)
 {
     return(assetMgr.InstanceBatchAssetAsync(addresses, null, null, null, batchComplete, AssetLoaderPriority.Default, userData));
 }
Ejemplo n.º 3
0
 public AssetHandler InstanceBatchAssetAsyncByLabel(
     string label,
     OnBatchAssetLoadComplete batchComplete
     )
 {
     return(assetMgr.InstanceBatchAssetAsyncByLabel(label, null, null, null, batchComplete, AssetLoaderPriority.Default, null));
 }
Ejemplo n.º 4
0
        /// <summary>
        /// 加载被取消的函数
        /// </summary>
        /// <param name="complete"></param>
        /// <param name="batchComplete"></param>
        public void CancelLoadAsset(OnAssetLoadComplete complete, OnBatchAssetLoadComplete batchComplete)
        {
            if (complete == null && batchComplete == null)
            {
                return;
            }

            for (int i = m_BridgeDatas.Count; i >= 0; --i)
            {
                BridgeData bridgeData = m_BridgeDatas[i];
                bool       isSame     = true;
                if (complete != null)
                {
                    isSame = bridgeData.Complete == complete;
                }
                if (isSame && batchComplete != null)
                {
                    isSame = bridgeData.BatchComplete == batchComplete;
                }
                if (isSame)
                {
                    CancelLoader(bridgeData);
                }
            }
        }
Ejemplo n.º 5
0
 public AssetHandler LoadBatchAssetAsyncByLabel(
     string label,
     OnBatchAssetLoadComplete batchComplete,
     SystemObject userData
     )
 {
     return(assetMgr.LoadBatchAssetAsyncByLabel(label, null, null, null, batchComplete, AssetLoaderPriority.Default, userData));
 }
Ejemplo n.º 6
0
 /// <summary>
 /// 取消加载任务
 /// </summary>
 internal void CancelLoader()
 {
     CompleteCallback      = null;
     ProgressCallback      = null;
     BatchCompleteCallback = null;
     BatchProgressCallback = null;
     m_UserData            = null;
 }
Ejemplo n.º 7
0
 public AssetHandler LoadBatchAssetAsync(
     string[] addresses,
     OnAssetLoadComplete complete,
     OnBatchAssetLoadComplete batchComplete,
     AssetLoaderPriority priority,
     SystemObject userData)
 {
     return(assetMgr.LoadBatchAssetAsync(addresses, null, complete, null, batchComplete, priority, userData));
 }
Ejemplo n.º 8
0
 public AssetHandler InstanceBatchAssetAsyncByLabel(
     string label,
     OnAssetLoadComplete complete,
     OnBatchAssetLoadComplete batchComplete,
     AssetLoaderPriority priority,
     SystemObject userData
     )
 {
     return(assetMgr.InstanceBatchAssetAsyncByLabel(label, null, complete, null, batchComplete, priority, userData));
 }
Ejemplo n.º 9
0
 /// <summary>
 ///实例化一组资源
 /// </summary>
 /// <param name="pathOrAddresses">一组 路径/地址</param>
 /// <param name="complete">单个资源加载完成委托</param>
 /// <param name="batchComplete">一组资源加载完成委托</param>
 /// <param name="priority">加载优先级</param>
 /// <param name="progress">单个资源加载进度委托</param>
 /// <param name="batchProgress">一组资源加载进度委托</param>
 /// <param name="userData">携带参数</param>
 /// <returns></returns>
 public static AssetLoaderHandle InstanceBatchAssetAsync(
     string[] pathOrAddresses,
     OnAssetLoadComplete complete,
     OnBatchAssetLoadComplete batchComplete,
     AssetLoaderPriority priority            = AssetLoaderPriority.Default,
     OnAssetLoadProgress progress            = null,
     OnBatchAssetsLoadProgress batchProgress = null,
     SystemObject userData = null)
 {
     return(AssetMgr.GetInstance().InstanceBatchAssetAsync(pathOrAddresses, complete, batchComplete, priority = AssetLoaderPriority.Default, progress, batchProgress, userData));
 }
Ejemplo n.º 10
0
 public AssetHandler InstanceBatchAssetAsync(
     string[] addresses,
     OnAssetLoadProgress progress,
     OnAssetLoadComplete complete,
     OnBatchAssetsLoadProgress batchProgress,
     OnBatchAssetLoadComplete batchComplete,
     AssetLoaderPriority priority,
     SystemObject userData)
 {
     return(assetMgr.InstanceBatchAssetAsync(addresses, progress, complete, batchProgress, batchComplete, priority, userData));
 }
Ejemplo n.º 11
0
 public AssetHandler LoadBatchAssetAsync(
     string[] addresses,
     OnAssetLoadProgress progress,
     OnAssetLoadComplete complete,
     OnBatchAssetsLoadProgress batchProgress,
     OnBatchAssetLoadComplete batchComplete,
     AssetLoaderPriority priority,
     SystemObject userData
     )
 {
     return(LoadBatchAssetAsync(null, addresses, false, complete, batchComplete, progress, batchProgress, priority, userData));
 }
Ejemplo n.º 12
0
 public AssetHandler InstanceBatchAssetAsyncByLabel(
     string label,
     OnAssetLoadProgress progress,
     OnAssetLoadComplete complete,
     OnBatchAssetsLoadProgress batchProgress,
     OnBatchAssetLoadComplete batchComplete,
     AssetLoaderPriority priority,
     SystemObject userData
     )
 {
     return(LoadBatchAssetAsync(label, null, true, complete, batchComplete, progress, batchProgress, priority, userData));
 }
Ejemplo n.º 13
0
 public AssetHandler LoadBatchAssetAsyncByLabel(
     string label,
     OnAssetLoadProgress progress,
     OnAssetLoadComplete complete,
     OnBatchAssetsLoadProgress batchProgress,
     OnBatchAssetLoadComplete batchComplete,
     AssetLoaderPriority priority,
     SystemObject userData
     )
 {
     return(assetMgr.LoadBatchAssetAsyncByLabel(label, progress, complete, batchProgress, batchComplete, priority, userData));
 }
Ejemplo n.º 14
0
        /// <summary>
        /// 按批量方式进行资源的加载
        /// 如果指定使用标签进行资源加载,则会忽略<paramref name="addresses"/>的值
        /// </summary>
        /// <param name="label">加载设定指定标签的资源</param>
        /// <param name="addresses">资源加载地址</param>
        /// <param name="isInstance">是否需要实例化</param>
        /// <param name="complete">单个资源加载完毕后回调</param>
        /// <param name="batchComplete">所有资源加载完毕后回调</param>
        /// <param name="progress">单个资源加载进度回调</param>
        /// <param name="batchProgress">所有资源加载进度回调</param>
        /// <param name="priority">优先级</param>
        /// <param name="userData">自定义参数</param>
        /// <returns></returns>
        internal AssetHandler LoadBatchAssetAsync(
            string label,
            string[] addresses,
            bool isInstance,
            OnAssetLoadComplete complete,
            OnBatchAssetLoadComplete batchComplete,
            OnAssetLoadProgress progress,
            OnBatchAssetsLoadProgress batchProgress,
            AssetLoaderPriority priority,
            SystemObject userData)
        {
            //如果指定按标签加载资源,则查找标记为指定标签的所有资源
            if (!string.IsNullOrEmpty(label))
            {
                addresses = addressConfig.GetAddressesByLabel(label);
                DebugLog.Debug(AssetConst.LOGGER_NAME, $"AssetLoader::LoadBatchAssetAsync->Load asset by label.label = {label},addresses = {string.Join(",",addresses)}");
            }

            if (addresses == null || addresses.Length == 0)
            {
                DebugLog.Error(AssetConst.LOGGER_NAME, "AAssetLoader::LoadBatchAssetAsync->addresses is null");
                return(null);
            }
            //获取资源真实的路径
            string[] paths = addressConfig.GetPathsByAddresses(addresses);
            if (paths == null || paths.Length == 0)
            {
                DebugLog.Error(AssetConst.LOGGER_NAME, "AssetLoader::LoadBatchAssetAsync->paths is null");
                return(null);
            }
            else
            {
                DebugLog.Debug(AssetConst.LOGGER_NAME, $"AssetLoader::LoadBatchAssetAsync->find assetPath by address.addresses = {string.Join(",", addresses)},path = {string.Join(",",paths)}");
            }

            if (dataWaitingQueue.Count >= dataWaitingQueue.MaxSize)
            {
                dataWaitingQueue.Resize(dataWaitingQueue.MaxSize * 2);
                DebugLog.Debug(AssetConst.LOGGER_NAME, "AssetLoader::LoadBatchAssetAsync->Reset the queue size.");
            }

            AssetLoaderData data = dataPool.Get();

            data.InitData(label, addresses, paths, isInstance, complete, progress, batchComplete, batchProgress, userData);
            data.State = AssetLoaderDataState.Waiting;
            dataWaitingQueue.Enqueue(data, (float)priority);

            return(data.Handler);
        }
Ejemplo n.º 15
0
 /// <summary>
 ///实例化一组资源
 /// </summary>
 /// <param name="pathOrAddresses">一组 路径/地址</param>
 /// <param name="complete">单个资源加载完成委托</param>
 /// <param name="batchComplete">一组资源加载完成委托</param>
 /// <param name="priority">加载优先级</param>
 /// <param name="progress">单个资源加载进度委托</param>
 /// <param name="batchProgress">一组资源加载进度委托</param>
 /// <param name="userData">携带参数</param>
 /// <returns></returns>
 public AssetLoaderHandle InstanceBatchAssetAsync(
     string[] pathOrAddresses,
     OnAssetLoadComplete complete,
     OnBatchAssetLoadComplete batchComplete,
     AssetLoaderPriority priority            = AssetLoaderPriority.Default,
     OnAssetLoadProgress progress            = null,
     OnBatchAssetsLoadProgress batchProgress = null,
     SystemObject userData = null)
 {
     if (m_IsInit)
     {
         return(m_AssetLoader.LoadOrInstanceBatchAssetAsync(pathOrAddresses, true, priority, complete, progress, batchComplete, batchProgress, userData));
     }
     else
     {
         Debug.LogError("AssetManager::LoadAssetAsync->init is failed");
         return(null);
     }
 }
Ejemplo n.º 16
0
        private AssetHandler LoadBatchAssetAsync(
            string label,
            string[] addresses,
            bool isInstance,
            OnAssetLoadComplete complete,
            OnBatchAssetLoadComplete batchComplete,
            OnAssetLoadProgress progress,
            OnBatchAssetsLoadProgress batchProgress,
            AssetLoaderPriority priority,
            SystemObject userData)
        {
            if (assetLoader == null)
            {
                DebugLog.Error(AssetConst.LOGGER_NAME, "AssetManager::LoadBatchAssetAsync->assetLoader is Null");
                return(null);
            }

            return(assetLoader.LoadBatchAssetAsync(label, addresses, isInstance, complete, batchComplete, progress, batchProgress, priority, userData));
        }
Ejemplo n.º 17
0
        /// <summary>
        /// 实例化一组资源
        /// </summary>
        /// <param name="pathOrAddresses">路径/地址</param>
        /// <param name="complete">单个资源加载完成委托</param>
        /// <param name="batchComplete"> 一组资源加载完成委托</param>
        /// <param name="userData">携带参数</param>
        public void InstanceBatchAssetAsync(string[] pathOrAddresses, OnAssetLoadComplete complete, OnBatchAssetLoadComplete batchComplete, SystemObject userData = null)
        {
            BridgeData brigeData = sm_BrigeDataPool.Get();

            brigeData.Complete      = complete;
            brigeData.BatchComplete = batchComplete;
            brigeData.UserData      = userData;

            AssetLoaderHandle handle = AssetManager.GetInstance().InstanceBatchAssetAsync(pathOrAddresses, AssetLoadComplete, BatchAssetLoadComplete,
                                                                                          m_LoaderPriority, null, null, brigeData);

            brigeData.LoaderHandle = handle;

            m_BridgeDatas.Add(brigeData);
        }
Ejemplo n.º 18
0
 /// <summary>
 /// 一组资源加载被取消
 /// </summary>
 /// <param name="batchComplete"></param>
 public void CancelLoadAsset(OnBatchAssetLoadComplete batchComplete)
 {
     CancelLoadAsset(null, batchComplete);
 }