Exemplo n.º 1
0
        IEnumerator IELoadLocalPath(string mPath)
        {
            using (var uwr = new UnityWebRequest("File://" + mPath, UnityWebRequest.kHttpVerbGET))
            {
                uwr.downloadHandler = new DownloadHandlerTexture();
                yield return(uwr.SendWebRequest());

                if (uwr.error == null)
                {
                    GetedTexture.Value = DownloadHandlerTexture.GetContent(uwr);
                    Fsm.Event(EventGetTexture);
                }
                else
                {
                    GetedTexture.Value = null;
                    Fsm.Event(EventGetTextureFail);
                }
                uwr.Dispose();
            }
        }
Exemplo n.º 2
0
        private IEnumerator RetrieveImage()
        {
            using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture(url, false))
            {
                yield return(uwr.SendWebRequest());

                yield return(uwr.isDone);

                if (uwr.isNetworkError || uwr.isHttpError)
                {
                    Debug.LogErrorFormat("Unable to load image from {0} for reason {1}", url, uwr.error);
                }
                else
                {
                    imageDisplay.texture = DownloadHandlerTexture.GetContent(uwr);
                    SwitchIndicator(false);
                    imageDisplay.SizeToParent();
                }
            }
        }
    /// <summary>
    /// 请求图片
    /// </summary>
    /// <param name="url">图片地址,like 'http://www.my-server.com/image.png '</param>
    /// <param name="actionResult">请求发起后处理回调结果的委托,处理请求结果的图片</param>
    /// <param name="actionProgress"></param>
    /// <returns></returns>
    public IEnumerator IE_GetTexture(string url, Action <Texture2D> actionResult)
    {
        using (uwr = UnityWebRequestTexture.GetTexture(url))
        {
            foreach (var header in headerPairs)
            {
                uwr.SetRequestHeader(header.Key, header.Value);
            }
            yield return(uwr.SendWebRequest());

            if (uwr.result == UnityWebRequest.Result.Success)
            {
                actionResult?.Invoke(DownloadHandlerTexture.GetContent(uwr));
            }
            else
            {
                Debug.LogError($"[Error:Texture2D] {uwr.error}");
            }
        }
    }
Exemplo n.º 4
0
    IEnumerator loadImage(int buttonNum, string url)
    {
        Debug.Log(url);
        UnityWebRequest        wr    = new UnityWebRequest(url);
        DownloadHandlerTexture texDl = new DownloadHandlerTexture(true);

        wr.downloadHandler = texDl;
        yield return(wr.SendWebRequest());

        if (wr.isNetworkError || wr.isHttpError)
        {
            Debug.Log(wr.error);
        }
        else
        {
            Texture2D t      = texDl.texture;
            Sprite    sprite = Sprite.Create(t, new Rect(0, 0, t.width, t.height), Vector2.zero, 1f);
            images[buttonNum].sprite = sprite;
        }
    }
Exemplo n.º 5
0
        /// <summary>
        /// Called as a Coroutine and queries the url. Expects an image as the query-result
        /// When the image is downloaded, it is returned to the specified callback method
        /// </summary>
        /// <param name="url">The url to query</param>
        /// <param name="callback">The callback method which receives the downloaded image</param>
        /// <returns></returns>
        IEnumerator GetWWWTexture(string url, System.Action <UnityWebRequest, Texture> callback)
        {
            UnityWebRequest req = UnityWebRequestTexture.GetTexture(url);

            AddHeadersToRequest(req);

            yield return(req.Send());

            if (callback != null)
            {
                if (req.responseCode == 200)
                {
                    callback(req, DownloadHandlerTexture.GetContent(req));
                }
                else
                {
                    callback(req, null);
                }
            }
        }
Exemplo n.º 6
0
    public IEnumerator LoadImage(string uri)
    {
        // Request and wait for the desired page.
        UnityWebRequest webRequest     = UnityWebRequestTexture.GetTexture(uri);
        var             asyncOperation = webRequest.SendWebRequest();

        //Check progress of request
        while (!webRequest.isDone)
        {
            progress = asyncOperation.progress;
            yield return(null);
        }

        progress = 1f;

        //Create texture from web image and assign it to RawImage on the label thumbnail
        var texture = DownloadHandlerTexture.GetContent(webRequest);

        gameObject.GetComponent <RawImage>().texture = texture;
    }
Exemplo n.º 7
0
    private IEnumerator UpdateImageFromStream(string url)
    {
        using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture(url))
        {
            yield return(uwr.SendWebRequest());

            Debug.Log("Let's go");

            if (uwr.isNetworkError || uwr.isHttpError)
            {
                Debug.Log(uwr.error);
            }
            else
            {
                // Get downloaded asset bundle
                _mesh.material.mainTexture = DownloadHandlerTexture.GetContent(uwr);
                Debug.Log("DONE");
            }
        }
    }
Exemplo n.º 8
0
        internal static void LoadTexture(
            string accessToken,
            string hash,
            Action <Texture2D> success  = null,
            Action <ErrorMessage> error = null)
        {
            var url     = string.Format(FILE_LOAD_URL, hash);
            var request = UnityWebRequestTexture.GetTexture(url);

            request.SetAccessToken(accessToken);

            void Success()
            {
                var texture = DownloadHandlerTexture.GetContent(request);

                success?.Invoke(texture);
            }

            request.Request(Success, error);
        }
Exemplo n.º 9
0
    public async UniTask <Texture> LoadTextureAsync(string url)
    {
        Debug.Log($"<color=yellow>Load start : {url}</color>");

        var request = UnityWebRequestTexture.GetTexture($"{url}");
        await request.SendWebRequest();

        if (request.isNetworkError || request.isHttpError)
        {
            Debug.LogError(request.error);
            return(null);
        }
        else
        {
            Texture tex = DownloadHandlerTexture.GetContent(request);
            tex.name = Path.GetFileNameWithoutExtension(url);

            return(tex);
        }
    }
Exemplo n.º 10
0
    private IEnumerator LoadImage(string url)
    {
        using (UnityWebRequest www = UnityWebRequestTexture.GetTexture(url))
        {
            yield return(www.SendWebRequest());

            if (www.isNetworkError || www.isHttpError)
            {
                Debug.Log(www.error);
            }
            else
            {
                var    tex         = DownloadHandlerTexture.GetContent(www);
                Sprite shapeSprite = Sprite.Create((Texture2D)tex, new Rect(0f, 0f, tex.width, tex.height), new Vector2(0.5f, 0.5f), 100f);
                _shapeImage.sprite = shapeSprite;

                Destroy(_loadingSpinner.gameObject);
            }
        }
    }
Exemplo n.º 11
0
    private IEnumerator DownloadImage(string url, Action <Texture2D> callback)
    {
        using (UnityWebRequest request = UnityWebRequestTexture.GetTexture(url))
        {
            yield return(request.Send());

            if (request.isNetworkError)
            {
                Debug.LogError("netowrk problem: " + request.error);
            }
            else if (request.responseCode != (long)System.Net.HttpStatusCode.OK)
            {
                Debug.LogError("response error: " + request.responseCode);
            }
            else
            {
                callback(DownloadHandlerTexture.GetContent(request));
            }
        }
    }
Exemplo n.º 12
0
        IEnumerator _GetTexture(string url, Action <Texture2D> actionResult)
        {
            UnityWebRequest        uwr             = new UnityWebRequest(url, UnityWebRequest.kHttpVerbGET);
            DownloadHandlerTexture downloadTexture = new DownloadHandlerTexture(true);

            uwr.timeout         = 30;
            uwr.downloadHandler = downloadTexture;
            yield return(uwr.SendWebRequest());

            Texture2D t = null;

            if (!(uwr.isNetworkError || uwr.isHttpError))
            {
                t = downloadTexture.texture;
            }
            if (actionResult != null)
            {
                actionResult(t);
            }
        }
Exemplo n.º 13
0
    IEnumerator Start()
    {
        Debug.Log("Start");

        yield return(new WaitForSeconds(2));

        Debug.Log("BeginDownload");
        var www = UnityWebRequestTexture.GetTexture("https://static.pexels.com/photos/236047/pexels-photo-236047.jpeg");

        yield return(www.SendWebRequest());

        Debug.Log("EndDownload");
        Profiler.BeginSample("Texture");

        //tex = new Texture2D(2, 2);
        var texture = DownloadHandlerTexture.GetContent(www);

        //www.LoadImageIntoTexture(tex);
        Profiler.EndSample();
    }
Exemplo n.º 14
0
        private Object DownloadHandler(DownloadFileType fileType, UnityWebRequest request)
        {
            switch (fileType)
            {
            case DownloadFileType.Image:
                return(DownloadHandlerTexture.GetContent(request));

            case DownloadFileType.Audio:
#if UNITY_EDITOR && UNITY_STANDALONE
                return(null);
#else
                return(DownloadHandlerAudioClip.GetContent(request));
#endif
            case DownloadFileType.Bundle:
                return(DownloadHandlerAssetBundle.GetContent(request));

            default:
                return(null);
            }
        }
Exemplo n.º 15
0
    IEnumerator fillButton()
    {
        for (int i = 0; i < buttons.Length; i++)
        {
            UnityWebRequest        wr    = new UnityWebRequest(DataController.mainData.URL[i]);
            DownloadHandlerTexture texDl = new DownloadHandlerTexture(true);
            wr.downloadHandler = texDl;
            yield return(wr.SendWebRequest());

            if (wr.isNetworkError || wr.isHttpError)
            {
                Debug.Log(wr.error);
            }
            else
            {
                Texture2D t = texDl.texture;
                buttons[i].GetComponent <Image>().sprite = Sprite.Create(t, new Rect(0, 0, t.width, t.height), Vector2.zero, 1f);
            }
        }
    }
Exemplo n.º 16
0
    private IEnumerator LoadImage(string url)
    {
        using (UnityWebRequest www = UnityWebRequestTexture.GetTexture(url)) {
            www.SendWebRequest();
            while (!www.isDone)
            {
                yield return(null);
            }
            if (!www.isNetworkError)
            {
                _camera = null;
                Texture2D texture = DownloadHandlerTexture.GetContent(www);
                Canvas.ForceUpdateCanvases();
                yield return(0);

                _image.gameObject.SetActive(true);
                SetImageTexture(texture);
            }
        }
    }
Exemplo n.º 17
0
    IEnumerator GetMap()
    {
        Debug.Log("LocationPanel::getMap()");
        // construct url
        url = url + "center=" + xCord + "," + yCord + "&zoom=" + zoom + "&size=" + imgSize + "x" + imgSize +
              "&maptype=roadmap&key=" + apiKey;

        // download static map
        using (UnityWebRequest mapRequest = UnityWebRequestTexture.GetTexture(url))
        {
            yield return(mapRequest.SendWebRequest());

            if (mapRequest.isNetworkError || mapRequest.isHttpError)
            {
                Debug.LogError("Map Error: " + mapRequest.error);
            }

            mapRawImage.texture = DownloadHandlerTexture.GetContent(mapRequest);
        }
    }
Exemplo n.º 18
0
    // OSMのタイルを取得してテクスチャとして設定します
    IEnumerator GetTexture(int zl)
    {
        int max = (int)Math.Pow(2, zl);

        Material[] materials = GetComponent <MeshRenderer>().materials;
        for (int y = 0; y < max; ++y)
        {
            for (int x = 0; x < max; ++x)
            {
                // ズームレベル、タイル座標を指定して地図画像を取得します
                String url = String.Format("https://tile.openstreetmap.org/{0}/{1}/{2}.png", zl, x, y);

                UnityWebRequest www = UnityWebRequestTexture.GetTexture(url);
                yield return(www.SendWebRequest());

                // 取得した画像をテクスチャとして設定します
                materials[y * max + x].mainTexture = DownloadHandlerTexture.GetContent(www);
            }
        }
    }
Exemplo n.º 19
0
    private static IEnumerator RequestTexture(int index, string url, Action <int, Texture2D> callback = null)
    {
        using (UnityWebRequest request = UnityWebRequestTexture.GetTexture(url))
        {
            yield return(request.SendWebRequest());

            if (request.isNetworkError || request.isHttpError)
            {
                Debug.Log(request.error);
            }
            else
            {
                Texture2D texture = DownloadHandlerTexture.GetContent(request);
                if (texture != null)
                {
                    callback?.Invoke(index, texture);
                }
            }
        }
    }
Exemplo n.º 20
0
        private IEnumerator GetTexture(string url, Action <Texture2D> callback)
        {
            permissions.CheckReadStorage();
            Debug.Log($"LocalJsonDatabase: GetTexture: url:{url}");
            using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture(url))
            {
                yield return(uwr.SendWebRequest());

                if (uwr.isNetworkError || uwr.isHttpError)
                {
                    Debug.LogError($"LocalJsonDatabase: GetTexture: Url: {url} Error: {uwr.error}");
                }
                else
                {
                    // Get downloaded asset bundle
                    var text = DownloadHandlerTexture.GetContent(uwr);
                    callback(text);
                }
            }
        }
Exemplo n.º 21
0
    IEnumerator pullImage()
    {
        string url = "http://" + robotIP + "/api/cameras/rgb?base64=false&width=" + widthRes + "&height=" + heightRes + "&displayOnScreen=false&overwriteExisting=false";

        UnityWebRequest uwr = UnityWebRequestTexture.GetTexture(url);

        yield return(uwr.SendWebRequest());

        if (uwr.isNetworkError || uwr.isHttpError)
        {
            Debug.Log(uwr.error);
            StartCoroutine(pullImage());
        }
        else
        {
            var texture = DownloadHandlerTexture.GetContent(uwr);
            img.texture = texture;
            StartCoroutine(pullImage());
        }
    }
Exemplo n.º 22
0
    IEnumerator LoadBackGround(string _url)
    {
        UnityWebRequest        wr    = new UnityWebRequest(_url);
        DownloadHandlerTexture texD1 = new DownloadHandlerTexture(true);

        wr.downloadHandler = texD1;
        yield return(wr.SendWebRequest());

        int width = 1920;
        int high  = 1080;

        if (!wr.isNetworkError && wr.isDone && texD1.isDone)
        {
            Texture2D tex = new Texture2D(width, high);
            tex = texD1.texture;

            Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
            imgBg.sprite = sprite;
        }
    }
Exemplo n.º 23
0
        /// <summary>
        /// Download image from url
        /// </summary>
        /// <param name="url"></param>
        /// <param name="downloadEnd"></param>
        /// <returns></returns>
        public IEnumerator DownloadImage(string url, Action <bool, Texture2D> downloadEnd)
        {
            using (UnityWebRequest request = new UnityWebRequest(url))
            {
                DownloadHandlerTexture downloadHandlerTexture = new DownloadHandlerTexture(true);
                request.downloadHandler = downloadHandlerTexture;
                yield return(request.Send());

                if (string.IsNullOrEmpty(request.error))
                {
                    Texture2D localTexture = downloadHandlerTexture.texture;
                    downloadEnd.Invoke(true, localTexture);
                }
                else
                {
                    downloadEnd.Invoke(false, null);
                    Debug.Log(request.error);
                }
            }
        }
    private IEnumerator GetAndSetProfilePic(int deviceId)
    {
        // Start a download of the given URL
        //UnityWebRequest www = UnityWebR
        UnityWebRequest www = UnityWebRequestTexture.GetTexture(AirConsole.instance.GetProfilePicture(deviceId, 512));

        // Wait for download to complete
        yield return(www.SendWebRequest());

        if (www.isNetworkError || www.isHttpError)
        {
            Debug.Log(www.error);
        }

        // assign texture
        Texture2D texture = DownloadHandlerTexture.GetContent(www);
        Sprite    sprite  = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0, 0));

        PlayerCanvas.instance.AddPlayerProfilePanel(new PlayerProfileInfo(deviceId, AirConsole.instance.GetNickname(deviceId), sprite));
    }
    /*-----------------------------------------------
     * load image from web and display in scene
     */
    IEnumerator Start()
    {
        using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture(url))
        {
            yield return(uwr.SendWebRequest());

            if (uwr.isNetworkError || uwr.isHttpError)
            {
                Debug.Log(uwr.error);
            }
            else
            {
                // extract image contents from 'www'
                Texture2D texture = DownloadHandlerTexture.GetContent(uwr);

                // use texture to update UI Raw Image
                UpdateUIRawImage(texture);
            }
        }
    }
Exemplo n.º 26
0
    IEnumerator GetTexture()
    {
        UnityWebRequest www = UnityWebRequestTexture.GetTexture(Player.Figure);

        yield return(www.SendWebRequest());

        if (www.isNetworkError || www.isHttpError)
        {
            Debug.Log(www.error);
        }
        else
        {
            Figure.gameObject.SetActive(true);
            Texture2D figure = DownloadHandlerTexture.GetContent(www);
            Figure.sprite = Sprite.Create(figure, new Rect(0.0f, 0.0f, figure.width, figure.height),
                                          new Vector2(0.5f, 0.5f));
            Nickname.gameObject.SetActive(true);
            Nickname.text = Player.Nickname;
        }
    }
    private async void Download()
    {
        using (UnityWebRequest req = UnityWebRequestTexture.GetTexture(_url))
        {
            await req.SendWebRequest();

            Texture2D tex = DownloadHandlerTexture.GetContent(req);

            byte[] data = tex.GetRawTextureData();

            if (!Directory.Exists(DirPath))
            {
                Directory.CreateDirectory(DirPath);
            }

            File.WriteAllBytes(FilePath, data);

            MetaWriter.Write(MetaFilePath, tex);
        }
    }
Exemplo n.º 28
0
        public static bool Prefix(string url, Callback <Texture2D> callback)
        {
            Result <Texture2D> result          = default(Result <Texture2D>);
            UnityWebRequest    unityWebRequest = UnityWebRequestTexture.GetTexture(url);

            unityWebRequest.certificateHandler = new Certificate();
            unityWebRequest.timeout            = 1000;

            UnityWebRequestAsyncOperation request          = unityWebRequest.SendWebRequest();
            Action <AsyncOperation>       requestCompleted = null;

            requestCompleted = ao =>
            {
                request.completed -= requestCompleted;

                if (!unityWebRequest.isNetworkError && !unityWebRequest.isHttpError)
                {
                    result.Value = DownloadHandlerTexture.GetContent(unityWebRequest);

                    if (result.Value == null)
                    {
                        result.Error = "texture is null";
                    }
                    else
                    {
                        result.Value.name = url.Substring(url.LastIndexOf("/", StringComparison.InvariantCulture) + 1);
                    }
                }
                else
                {
                    result.Error = "cant load " + url + " because of error " + unityWebRequest.error;
                }

                unityWebRequest.Dispose();
                callback.Invoke(result);
            };

            request.completed += requestCompleted;

            return(false);
        }
Exemplo n.º 29
0
        /// <summary>
        /// Coroutine to start downloading resources from external source.
        /// Will download scheme JSON first, then downloads all of the enclosed textures.
        /// </summary>
        /// <returns></returns>
        public IEnumerator DataDownloadCoroutine()
        {
            var schemeRequest = UnityWebRequest.Get(_schemeUrl);

            yield return(schemeRequest.SendWebRequest());

            if (!CheckIfSuccessfulAndNotifyIfNeeded(schemeRequest))
            {
                yield break;
            }

            var scheme = JsonConvert.DeserializeObject <List <string> >(schemeRequest.downloadHandler.text);

            schemeDownloaded?.Invoke(scheme);

            yield return(new WaitForSeconds(schemeLoadThrottleSeconds));

            var operations = new List <UnityWebRequestAsyncOperation>();

            foreach (var url in scheme)
            {
                operations.Add(UnityWebRequestTexture.GetTexture(url).SendWebRequest());
            }

            for (int i = 0; i < operations.Count; i++)
            {
                var op = operations[i];
                yield return(op);

                if (CheckIfSuccessfulAndNotifyIfNeeded(op.webRequest))
                {
                    var tex = DownloadHandlerTexture.GetContent(op.webRequest);
                    textureDownloaded?.Invoke(tex, operations.Count - i - 1);
                    yield return(new WaitForSeconds(textureLoadThrottleSeconds));
                }
                else
                {
                    yield break;
                }
            }
        }
Exemplo n.º 30
0
    private IEnumerator LoadImageFromFile()
    {
        // File to find : Application.dataPath/SongDatas/Gurenge/music.mp3
        string path = Path.Combine(Application.dataPath, "SongDatas");

        path = Path.Combine(path, GameInfo.songName);

        path = Path.Combine(path, "bg.jpg");

#if UNITY_STANDALONE_OSX
        string url = "file://" + path;
#endif

#if UNITY_STANDALONE_LINUX
        string url = "file://" + path;
#endif

#if UNITY_STANDALONE_WIN
        string url = "file:///" + path;
#endif

        using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture(url))
        {
            yield return(uwr.SendWebRequest());

            if (uwr.result != UnityWebRequest.Result.Success)
            {
                Debug.Log(uwr.error);
            }
            else
            {
                // Get downloaded asset bundle
                var texture = DownloadHandlerTexture.GetContent(uwr);

                Texture2D myImg  = texture;
                Sprite    sprite = Sprite.Create(myImg, new Rect(0, 0, myImg.width, myImg.height), Vector2.zero);
                bgImg.sprite     = sprite;
                GameInfo.songImg = sprite;
            }
        }
    }