예제 #1
0
        public bool AddDownloadTask(string uri, string localPath, int fileSize, OnDownloadProgress onProgress, OnDownloadError onError, OnDownloadFinished onFinshed, OnDownloadBegin onBegin, OnDownloadValidCheck validChecker, bool logError)
        {
            if (m_IsDownloading)
            {
                Log.e("HttpDownloaderMgr is busy!");
                return(false);
            }

            if (string.IsNullOrEmpty(uri) == true)
            {
                Log.e("uri is empty");
                return(false);
            }

            if (string.IsNullOrEmpty(localPath) == true)
            {
                Log.e("LocalPath is empty");
                return(false);
            }

            if (onError == null || onFinshed == null)
            {
                Log.e("onError & onFinshed should not be null!");
                return(false);
            }

            Clear();

            m_LogError        = logError;
            m_FileSize        = fileSize;
            m_OnProgress      = onProgress;
            m_OnError         = onError;
            m_OnFinished      = onFinshed;
            m_OnDownloadBegin = onBegin;
            m_OnValidCheck    = validChecker;

            m_Uri      = uri;
            m_SaveFile = localPath;

            m_IsDownloading = true;

            m_PreSize        = 0;
            m_LastChangeTime = currentTimeTick;

            StartCoroutine(StartIEnumeratorTask());
            return(true);
        }
예제 #2
0
        // 添加下载任务,目前只支持一个任务同时进行
        public bool AddDownloadTask(string uri, string localPath, OnDownloadProgress onProgress, OnDownloadError onError, OnDownloadFinished onFinshed, OnDownloadBegin onBegin = null)
        {
            if (m_IsDownloading)
            {
                Log.e("HttpDownloaderMgr is busy!");
                return(false);
            }

            if (string.IsNullOrEmpty(uri) == true)
            {
                Log.e("uri is empty");
                return(false);
            }

            if (string.IsNullOrEmpty(localPath) == true)
            {
                Log.e("LocalPath is empty");
                return(false);
            }

            if (onError == null || onFinshed == null)
            {
                Log.e("onError & onFinshed should not be null!");
                return(false);
            }

            m_OnProgress      = onProgress;
            m_OnError         = onError;
            m_OnFinished      = onFinshed;
            m_OnDownloadBegin = onBegin;

            m_Uri      = uri;
            m_SaveFile = localPath;

            m_TaskCount++;

            //Log.i("[HttpDownload]about to download new data:" + m_Uri);

            return(true);
        }
예제 #3
0
        public void Clear()
        {
            if (m_IsDownloading)
            {
                return;
            }

            if (m_WWW != null)
            {
                m_WWW.Dispose();
                m_WWW = null;
            }

            m_PreSize        = 0;
            m_LastChangeTime = currentTimeTick;
            m_Event.Clear();

            m_OnProgress      = null;
            m_OnError         = null;
            m_OnFinished      = null;
            m_OnDownloadBegin = null;
            m_OnValidCheck    = null;
            //StopAllCoroutines();
        }