42 lines
1.2 KiB
C#
42 lines
1.2 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using UnityEngine;
|
|
using UnityEngine.Networking;
|
|
|
|
namespace Assets.Framework.Tool
|
|
{
|
|
public class WebTool:MonoSingleton<WebTool>
|
|
{
|
|
public static void DownImage(string url, Action<Texture2D> callback)
|
|
{
|
|
Instance.StartCoroutine(IEDownImage(url,callback));
|
|
}
|
|
public static IEnumerator IEDownImage(string url, Action<Texture2D> callback)
|
|
{
|
|
for (int i = 0; i < 5; i++)
|
|
{
|
|
using (UnityWebRequest request = UnityWebRequestTexture.GetTexture(url))
|
|
{
|
|
yield return request.SendWebRequest();
|
|
|
|
if (request.result != UnityWebRequest.Result.Success)
|
|
{
|
|
Debug.LogError("图片下载失败: " + request.error);
|
|
callback?.Invoke(null);
|
|
continue;
|
|
}
|
|
|
|
Texture2D tex = DownloadHandlerTexture.GetContent(request);
|
|
callback?.Invoke(tex);
|
|
yield break;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|