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); } ))); }
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); } ))); }
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); } ))); }
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); } ))); }