Exemple #1
0
        private void OnLoadFinishAndCheckNext()
        {
            if (_curLoadingCount > 0)
            {
                _curLoadingCount--;
            }

            if (_curLoadingCount < MAX_ASYNC_LOADING_COUNT && pengdingLoadQueue.Count > 0)
            {
                AssetLoaderTask task = pengdingLoadQueue.Dequeue();
                StartLoadAsync(task.info.ResourcesPath, task.callBack, task.func);
            }
        }
Exemple #2
0
        public void LoadAssetAsync(int assetId, ObjectCallback callBack, IsObjectOldFunc func)
        {
            AssetInfo info = _assetInfoManager.GetAssetInfo(assetId);

            if (info == null)
            {
                AssetUtil.OnCallBack(callBack, null, false);
                return;
            }

            if (_curLoadingCount < MAX_ASYNC_LOADING_COUNT)
            {
                StartLoadAsync(info.ResourcesPath, callBack, func);
            }
            else
            {
                AssetLoaderTask task = new AssetLoaderTask(info, callBack, func);
                //添加异步加载任务
                pengdingLoadQueue.Enqueue(task);
            }
        }