Exemplo n.º 1
0
        protected override void OnSuccess2Load()
        {
            Log.I("OnSuccess2Load:{0}", AssetPath);

            if (LoadFinishCallback != null)
            {
                LoadFinishCallback.Invoke(this);
                LoadFinishCallback = null;
            }
            if (LoadSuccessCallback != null)
            {
                LoadSuccessCallback.Invoke(this);
            }
        }
Exemplo n.º 2
0
    public void Init(string fileName, string url, string savePath, int flushSize, int timeOut, int reStartCount, int reStartInterval, LoadSuccessCallback loadSuccessCallback = null, LoadFailureCallback loadFailureCallback = null, LoadUpdateCallback loadUpdateCallback = null, ThreadPriority threadPriority = ThreadPriority.Normal)
    {
        m_FileName        = fileName;
        m_Url             = url;
        m_SavePath        = savePath;
        m_FlushSize       = flushSize;
        m_TimeOut         = timeOut;
        m_ReStartCount    = reStartCount;
        m_ReStartInterval = reStartInterval;

        m_ThreadPriority = threadPriority;

        m_LoadSuccessCallback = loadSuccessCallback;
        m_LoadFailureCallback = loadFailureCallback;
        m_LoadUpdateCallback  = loadUpdateCallback;
    }
Exemplo n.º 3
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="fileName">文件名</param>
        /// <param name="url">下载地址</param>
        /// <param name="savePath">保存地址</param>
        /// <param name="flushSize">缓冲区大小</param>
        /// <param name="timeOut">超时时间</param>
        /// <param name="reStartCount">断线重连次数</param>
        /// <param name="reStartInterval">断线重连间隔时间</param>
        /// <param name="loadSuccessCallback">下载成功回调</param>
        /// <param name="loadFailureCallback">下载失败回调</param>
        /// <param name="loadUpdateCallback">下载中回调</param>
        /// <param name="threadPriority">线程优先级</param>
        public DownloadTask(string fileName, string url, string savePath, int flushSize = 1024 * 1024, int timeOut = 5 * 1000, int reStartCount = 5, int reStartInterval = 1000, LoadSuccessCallback loadSuccessCallback = null, LoadFailureCallback loadFailureCallback = null, LoadUpdateCallback loadUpdateCallback = null, ThreadPriority threadPriority = ThreadPriority.Normal)
        {
            FileName          = fileName;
            Url               = url;
            m_SavePath        = savePath;
            m_FlushSize       = flushSize;
            m_TimeOut         = timeOut;
            m_ReStartCount    = reStartCount;
            m_ReStartInterval = reStartInterval;


            m_LoadSuccessCallback = loadSuccessCallback;
            m_LoadFailureCallback = loadFailureCallback;
            m_LoadUpdateCallback  = loadUpdateCallback;

            m_ThreadPriority = threadPriority;
        }
Exemplo n.º 4
0
        /// <summary>
        /// 添加一个下载任务
        /// </summary>
        /// <param name="fileName">文件名</param>
        /// <param name="url">下载地址</param>
        /// <param name="savePath">保存地址</param>
        /// <param name="loadSuccessCallback">下载成功回调</param>
        /// <param name="loadFailureCallback">下载失败回调</param>
        /// <param name="loadUpdateCallback">下载中回调</param>
        /// <param name="flushSize">缓冲区大小</param>
        /// <param name="timeOut">超时时间</param>
        /// <param name="reStartCount">断线重连次数</param>
        /// <param name="reStartInterval">断线重连间隔时间</param>
        /// <param name="threadPriority">线程优先级</param>
        public void AddDownLoadTask(string fileName, string url, string savePath, LoadSuccessCallback loadSuccessCallback = null, LoadFailureCallback loadFailureCallback = null, LoadUpdateCallback loadUpdateCallback = null, int flushSize = 1024 *1024, int timeOut = 5000, int reStartCount = 5, int reStartInterval = 1000, ThreadPriority threadPriority = ThreadPriority.Normal)
        {
            if (string.IsNullOrEmpty(fileName))
            {
                throw new Exception("Download fileName is invalid.");
            }

            if (string.IsNullOrEmpty(url))
            {
                throw new Exception("Download url is invalid.");
            }

            if (string.IsNullOrEmpty(savePath))
            {
                throw new Exception("Download savePath is invalid.");
            }

            DownloadTask downloadTask = new DownloadTask(fileName, url, savePath, flushSize, timeOut, reStartCount, reStartInterval, loadSuccessCallback, loadFailureCallback, loadUpdateCallback, threadPriority);

            m_WaitQue.Enqueue(downloadTask);
        }
Exemplo n.º 5
0
    public void Init(long totalSize, string fileName, string url, string savePath, object userData = null, LoadSuccessCallback loadSuccessCallback = null, LoadFailureCallback loadFailureCallback = null, LoadUpdateCallback loadUpdateCallback = null)
    {
        txt_Name.text = fileName;
        m_TotalSize   = totalSize;
        txt_Size.text = "0/" + totalSize;
        Slider.value  = 0;

        loadUpdateCallback  += ShowSlider;
        loadSuccessCallback += OK;
        loadFailureCallback += GG;

        DownloadManager.Instance.AddDownLoadTask(fileName, url, savePath, loadSuccessCallback, loadFailureCallback, loadUpdateCallback);
    }
 private static extern IntPtr LoadListenerCreate(LoadSuccessCallback loadSuccessCallback, LoadFailureCallback loadFailureCallback);