예제 #1
0
 public new void GetTexture(string uri, Action <float> progress, DelGetTextureCallback callback, int timeout = 0)
 {
     if (!downReqMap.ContainsKey(uri))
     {
         coroutines.Add(uri, StartCoroutine(base.GetTexture(uri, progress, callback, timeout)));
     }
 }
예제 #2
0
        protected IEnumerator GetTexture(string uri, Action <float> progress, DelGetTextureCallback callback, int timeout)
        {
            UnityWebRequest uwr = new UnityWebRequest(uri);

            uwr.timeout = timeout;
            DownloadHandlerTexture downloadTexture = new DownloadHandlerTexture(true);

            uwr.downloadHandler = downloadTexture;
            uwr.SendWebRequest();
            downReqMap.Add(uri, uwr);

            yield return(getProgress(uwr, progress));

            Texture2D texture2D = (string.IsNullOrEmpty(uwr.error)) ? downloadTexture.texture : null;

            if (callback != null)
            {
                callback(uwr.error, texture2D);
            }
            Dispose(uri);
        }