コード例 #1
0
    public IEnumerator GetTrackers(MonoBehaviour caller, Action <CloudVRTracker[]> onSucceeded, Action <long, string> onFailed)
    {
        UnityWebRequest request = CloudVRAPIHelper.Get(this, "/trackers");

        yield return(caller.StartCoroutine(CloudVRAPIHelper.HandleResponse(request,
                                                                           () => {
            List <object> trackers = MiniJSON.Json.Deserialize(request.downloadHandler.text) as List <object>;
            if (trackers == null || trackers.Count == 0)
            {
                onSucceeded(null);
                return;
            }

            CloudVRTracker[] result = new CloudVRTracker[trackers.Count];
            for (int i = 0; i < trackers.Count; i++)
            {
                result[i] = new CloudVRTracker(trackers[i] as Dictionary <string, object>);
            }
            onSucceeded(result);
        },
                                                                           () => {
            onFailed(request.responseCode, request.error);
        }
                                                                           )));
    }
コード例 #2
0
    public IEnumerator RequestLinkage(MonoBehaviour caller, Action <CloudVRLinkage> onSucceeded, Action <long, string> onFailed)
    {
        UnityWebRequest request = CloudVRAPIHelper.Post(_owner, "/linkages", "{ \"content_id\": \"" + id + "\" }");

        yield return(caller.StartCoroutine(CloudVRAPIHelper.HandleResponse(request,
                                                                           () => {
            if (CloudVRAPIHelper.CheckIfResponseIsOK(request.responseCode))
            {
                Dictionary <string, object> linkage =
                    MiniJSON.Json.Deserialize(request.downloadHandler.text) as Dictionary <string, object>;
                onSucceeded.Invoke(new CloudVRLinkage(linkage));
            }
            else
            {
                onFailed.Invoke(request.responseCode, request.downloadHandler.text);
            }
        },
                                                                           () => {
            onFailed.Invoke(CloudVRAPIHelper.ResponseCodeRequestError, request.error);
        }
                                                                           )));
    }
コード例 #3
0
    public IEnumerator RequestGroupLinkage(MonoBehaviour caller, Action <CloudVRGroupLinkage> onSucceeded, Action <long, string> onFailed)
    {
        UnityWebRequest request = CloudVRAPIHelper.Get(this, "/linkage");

        yield return(caller.StartCoroutine(CloudVRAPIHelper.HandleResponse(request,
                                                                           () => {
            Dictionary <string, object> linkage =
                MiniJSON.Json.Deserialize(request.downloadHandler.text) as Dictionary <string, object>;

            if (linkage == null)
            {
                onSucceeded(null);
                return;
            }

            onSucceeded(new CloudVRGroupLinkage(linkage));
        },
                                                                           () => {
            onFailed(request.responseCode, request.error);
        }
                                                                           )));
    }
コード例 #4
0
    public IEnumerator LoadThumbnail(MonoBehaviour caller, int index, Action <int, Texture2D> onSucceeded, Action <long, string> onFailed)
    {
        Assert.IsTrue(thumbnails != null && 0 <= index && index < thumbnails.Length);

        UnityWebRequest request = CloudVRAPIHelper.GetTexture(_owner, _thumbnailUrls[index]);

        yield return(caller.StartCoroutine(CloudVRAPIHelper.HandleResponse(request,
                                                                           () => {
            if (CloudVRAPIHelper.CheckIfResponseIsOK(request.responseCode))
            {
                thumbnails[index] = DownloadHandlerTexture.GetContent(request);
                onSucceeded.Invoke(index, thumbnails[index]);
            }
            else
            {
                onFailed.Invoke(request.responseCode, request.downloadHandler.text);
            }
        },
                                                                           () => {
            onFailed.Invoke(CloudVRAPIHelper.ResponseCodeRequestError, request.error);
        }
                                                                           )));
    }