示例#1
0
    /// <summary>
    /// 下载文件
    /// </summary>
    /// <param name="url"></param>
    /// <param name="type"></param>
    /// <param name="callback"></param>
    /// <param name="cachePath">缓存到本地的相对目录,如果为null则不缓存</param>
    /// <param name="retry"></param>
    public static void Download(string url, FileDownloadType type, FileDownloadCallback callback, string cachePath = null, int retry = 0)
    {
        if (downloader == null)
        {
            downloader = new FileDownloader();
            Updater.Instance.OnPreUpdate.Add(downloader.OnUpdate);
            Updater.Instance.OnPostDestroy.Add(downloader.OnDestroy);
        }
        FileDownloadContext ctx = new FileDownloadContext();

        ctx.url       = url;
        ctx.type      = type;
        ctx.callback  = callback;
        ctx.retry     = retry;
        ctx.cachePath = cachePath;
        if (downloader.CheckCache(ctx))
        {
            if (ctx.callback != null)
            {
                ctx.callback(ctx);
            }
            return;
        }
        downloader.sendQueue.Enqueue(ctx);
    }
示例#2
0
        private static IEnumerator GetFileInternal(string download, FileDownloadCallback callback)
        {
#if LDMT_TESTING_WITHOUT_OCTOPI
            var data = Encoding.UTF8.GetBytes(@"solid model
facet normal 0.0 0.0 -1.0
outer loop
vertex 40.0 0.0 0.0
vertex 0.0 -40.0 0.0
vertex 0.0 0.0 0.0
endloop
endfacet
facet normal 0.0 0.0 -1.0
outer loop
vertex 0.0 -40.0 0.0
vertex 40.0 0.0 0.0
vertex 40.0 -40.0 0.0
endloop
endfacet
facet normal -0.0 -1.0 -0.0
outer loop
vertex 40.0 -40.0 40.0
vertex 0.0 -40.0 0.0
vertex 40.0 -40.0 0.0
endloop
endfacet
facet normal -0.0 -1.0 -0.0
outer loop
vertex 0.0 -40.0 0.0
vertex 40.0 -40.0 40.0
vertex 0.0 -40.0 40.0
endloop
endfacet
facet normal 1.0 0.0 0.0
outer loop
vertex 40.0 0.0 0.0
vertex 40.0 -40.0 40.0
vertex 40.0 -40.0 0.0
endloop
endfacet
facet normal 1.0 0.0 0.0
outer loop
vertex 40.0 -40.0 40.0
vertex 40.0 0.0 0.0
vertex 40.0 0.0 40.0
endloop
endfacet
facet normal -0.0 -0.0 1.0
outer loop
vertex 40.0 -40.0 40.0
vertex 0.0 0.0 40.0
vertex 0.0 -40.0 40.0
endloop
endfacet
facet normal -0.0 -0.0 1.0
outer loop
vertex 0.0 0.0 40.0
vertex 40.0 -40.0 40.0
vertex 40.0 0.0 40.0
endloop
endfacet
facet normal -1.0 0.0 0.0
outer loop
vertex 0.0 0.0 40.0
vertex 0.0 -40.0 0.0
vertex 0.0 -40.0 40.0
endloop
endfacet
facet normal -1.0 0.0 0.0
outer loop
vertex 0.0 -40.0 0.0
vertex 0.0 0.0 40.0
vertex 0.0 0.0 0.0
endloop
endfacet
facet normal -0.0 1.0 0.0
outer loop
vertex 0.0 0.0 40.0
vertex 40.0 0.0 0.0
vertex 0.0 0.0 0.0
endloop
endfacet
facet normal -0.0 1.0 0.0
outer loop
vertex 40.0 0.0 0.0
vertex 0.0 0.0 40.0
vertex 40.0 0.0 40.0
endloop
endfacet
endsolid model
");
            yield return(null);
#else
            UnityWebRequest request = UnityWebRequest.Get(download);
            yield return(request.SendWebRequest());

            if (request.isNetworkError || request.isHttpError)
            {
                callback.Invoke(false, null);
            }
            else
            {
                var data = request.downloadHandler.data;
#endif
            callback.Invoke(true, data);
#if !LDMT_TESTING_WITHOUT_OCTOPI
        }
#endif
        }
示例#3
0
 public static void GetFile(string download, FileDownloadCallback callback)
 {
     Instance.StartCoroutine(GetFileInternal(download, callback));
 }