Exemplo n.º 1
0
        protected virtual void _loadImp(int priority = 0, bool progress = false, uint retryCount = 0)
        {
            ResourceLoaderManager loaderManager = ResourceLoaderManager.sharedInstance();
            RFLoader newLoader = loaderManager.getLoader(url, id);

            if (newLoader != loader && loader != null)
            {
                loader.removeEventListener(EventX.COMPLETE, loadComplete);
                loader.removeEventListener(EventX.FAILED, failedLoad);
                if (progress)
                {
                    loader.removeEventListener(EventX.PROGRESS, progressHandle);
                }
            }
            loader = newLoader;
            if (retryCount > 0)
            {
                loader.autoRetry    = true;
                loader.autoTryLimit = retryCount;
            }
            loader.checkProgress = progress;
            loader.addEventListener(EventX.COMPLETE, loadComplete);
            loader.addEventListener(EventX.FAILED, failedLoad);
            if (progress)
            {
                loader.addEventListener(EventX.PROGRESS, progressHandle);
            }
            loaderManager.queue(loader, priority);
        }
Exemplo n.º 2
0
        /**
         *  加载资源成功
         * @param event
         *
         */

        protected virtual void loadComplete(EventX e)
        {
            loader = e.target as RFLoader;
            loader.removeEventListener(EventX.COMPLETE, loadComplete);
            loader.removeEventListener(EventX.PROGRESS, progressHandle);
            loader.removeEventListener(EventX.FAILED, failedLoad);
            bool   b         = true;
            string eventType = e.type;

            _data = loader.parser(parserType);
            if (_data != null)
            {
                b = parser(_data);
            }

            if (_data == null)
            {
                _data     = "_data is null";
                eventType = EventX.FAILED;
            }

            if (b)
            {
                resourceComplete(eventType);
            }
        }
Exemplo n.º 3
0
        /**
         *  加载资源成功
         * @param event
         *
         */

        protected virtual void loadComplete(EventX e)
        {
            loader = e.target as RFLoader;
            AssetsManager.bindEventHandle(loader, loadComplete, false);
            loader.removeEventListener(EventX.CANCEL, loadCancelHandle);
            if (loader.checkProgress)
            {
                loader.removeEventListener(EventX.PROGRESS, progressHandle);
            }

            if (e.type == EventX.FAILED)
            {
                _data = null;
                this.simpleDispatch(EventX.DEPEND_READY);
                resourceComplete(EventX.FAILED, (string)e.data);
                return;
            }

            _data = e.data;
            if (_data == null)
            {
                _data = "_data is null";
                this.simpleDispatch(EventX.DEPEND_READY);
                resourceComplete(EventX.FAILED, (string)_data);
            }
            else
            {
                _data = parserData(_data);
                this.simpleDispatch(EventX.DEPEND_READY);
                resourceComplete(EventX.COMPLETE);
            }
        }
Exemplo n.º 4
0
        public void onLoaderComplete(EventX e)
        {
            // 加载记录
            RFLoader loader = e.target as RFLoader;

            loader.removeEventListener(EventX.COMPLETE, onLoaderComplete);
            loader.removeEventListener(EventX.FAILED, onLoaderComplete);

            _loadingPool.Remove(loader.id);

            _loadingCount--;
        }
Exemplo n.º 5
0
        protected virtual void loadCancelHandle(EventX e)
        {
            loader.removeEventListener(EventX.CANCEL, loadCancelHandle);
            if (_status == AssetState.LOADING)
            {
                _status = AssetState.NONE;
            }

            if (hasEventListener(EventX.FAILED))
            {
                simpleDispatch(EventX.FAILED);
            }
        }
        private void loadHandle(EventX e)
        {
            _concurrence--;

            RFLoader target = e.target as RFLoader;

            //trace("loaderQueue",_concurrence,event.type,target.url);

            target.removeEventListener(EventX.COMPLETE, loadHandle);
            target.removeEventListener(EventX.FAILED, loadHandle);
            target.removeEventListener(EventX.DISPOSE, loadHandle);

            CallLater.Add(next);
        }
Exemplo n.º 7
0
        internal void dispose(RFLoader loader)
        {
            string id = loader.id;

            if (_loadingPool.ContainsKey(id))
            {
                _loadingPool.Remove(id);
                _loadingCount--;
            }

            loader.removeEventListener(EventX.COMPLETE, onLoaderComplete);
            loader.removeEventListener(EventX.FAILED, onLoaderComplete);

            _coreLoaderQueue.remove(loader);
        }
Exemplo n.º 8
0
        private void loadHandle(EventX e)
        {
            RFLoader target = (RFLoader)e.target;

            runingList.Remove(target);
            running--;

            Log("CorEnd: {0} {1},{2}", running, e.type, target._url);

            if (running < 0)
            {
                DebugX.LogError("coreLoaderQueue error {0} {1},{2}", running, e.type, target._url);
            }

            target.removeEventListener(EventX.COMPLETE, loadHandle);
            target.removeEventListener(EventX.FAILED, loadHandle);
            target.removeEventListener(EventX.DISPOSE, loadHandle);
        }