Ejemplo n.º 1
0
        // 下面的回调是子线程回调主线程
        protected void OnCompleted()
        {
            CompletedTime = XTimeTools.NowTimeStampMs;
            status        = AssetDownloadStatus.DOWNLOAD_COMPLETED;

            CallbackManager.GetInstance()?.QueueOnMainThread((param) =>
            {
                var task = (AssetDownloadTask)param;
                onCompleted?.Invoke(task);
            }, this);
        }
Ejemplo n.º 2
0
        protected void OnProgress(long cur, long total)
        {
            if (m_downloadMgr == null)
            {
                return;
            }

            Tuple <long, long> bundle = new Tuple <long, long>(cur, total);

            CallbackManager.GetInstance()?.QueueOnMainThread((param) =>
            {
                var tuple = (Tuple <long, long>)param;
                onProgress?.Invoke(tuple.Item1, tuple.Item2);
            }, bundle);
        }
Ejemplo n.º 3
0
        protected void OnFinish(string url, string path)
        {
            if (m_downloadMgr == null)
            {
                return;
            }

            Tuple <string, string> bundle = new Tuple <string, string>(url, path);

            CallbackManager.GetInstance()?.QueueOnMainThread((param) =>
            {
                var tuple = (Tuple <string, string>)param;
                onFinish?.Invoke(tuple.Item1, tuple.Item2);
            }, bundle);

            //任务结束回调
            if (m_downloadMgr.HadDownedCount == m_downloadMgr.TotalNeedDownCount)
            {
                OnCompleted();
            }
        }
Ejemplo n.º 4
0
 private void Awake()
 {
     CallbackManager.GetInstance();  //唤醒下
 }