private IEnumerator WaitForLoad(string url)
        {
            HttpImage httpImage = null;

            while (!HttpImage.TextureCache.ContainsKey(url))
            {
                yield return(null);
            }
            if (httpImage && httpImage.image)
            {
                httpImage.UpdateImageTexture(HttpImage.TextureCache[url]);
            }
        }
        private IEnumerator StartAndWaitForLoad(string url)
        {
            HttpImage       httpImage       = null;
            UnityWebRequest unityWebRequest = new UnityWebRequest(url)
            {
                downloadHandler = new DownloadHandlerBuffer()
            };

            HttpImage.RequestCache.Add(url, unityWebRequest);
            yield return(unityWebRequest.SendWebRequest());

            HttpImage.RequestCache.Remove(url);
            Texture2D texture2D = null;

            if (unityWebRequest.isDone && !unityWebRequest.isHttpError && !unityWebRequest.isNetworkError)
            {
                texture2D = new Texture2D(16, 16)
                {
                    name = url
                };
                if (!ImageConversion.LoadImage(texture2D, unityWebRequest.downloadHandler.data, true))
                {
                    UnityEngine.Object.DestroyImmediate(texture2D);
                    texture2D = null;
                }
            }
            if (texture2D == null)
            {
                texture2D = httpImage.MissingImage;
                if (texture2D == null)
                {
                    texture2D = Texture2D.blackTexture;
                }
            }
            HttpImage.TextureCache.Add(url, texture2D);
            unityWebRequest.Dispose();
            if (httpImage && httpImage.image)
            {
                httpImage.UpdateImageTexture(texture2D);
                if (httpImage.PreserveAspectHeight)
                {
                    float         single  = (float)texture2D.height / (float)texture2D.width;
                    RectTransform vector2 = httpImage.image.rectTransform;
                    Rect          rect    = httpImage.image.rectTransform.rect;
                    vector2.sizeDelta       = new Vector2(0f, rect.width * single);
                    httpImage.image.enabled = true;
                }
            }
        }