public static HashSet <string> GetSceneCids(ApiEnvironment environment, Vector2Int coords, Vector2Int size) { HashSet <string> sceneCids = new HashSet <string>(); string url = GetScenesAPIUrl(environment, coords.x, coords.y, size.x, size.y); UnityWebRequest w = UnityWebRequest.Get(url); w.SendWebRequest(); while (!w.isDone) { } if (!w.WebRequestSucceded()) { throw new Exception($"Request error! Parcels couldn't be fetched! -- {w.error}"); } ScenesAPIData scenesApiData = JsonUtility.FromJson <ScenesAPIData>(w.downloadHandler.text); Assert.IsTrue(scenesApiData != null, "Invalid response from ScenesAPI"); Assert.IsTrue(scenesApiData.data != null, "Invalid response from ScenesAPI"); foreach (var data in scenesApiData.data) { sceneCids.Add(data.root_cid); } return(sceneCids); }
public static HashSet <string> GetScenesCids(ApiEnvironment environment, List <Vector2Int> coords) { HashSet <string> sceneCids = new HashSet <string>(); foreach (Vector2Int v in coords) { string url = GetScenesAPIUrl(environment, v.x, v.y, 0, 0); UnityWebRequest w = UnityWebRequest.Get(url); w.SendWebRequest(); while (!w.isDone) { } if (!w.WebRequestSucceded()) { Debug.LogWarning($"Request error! Parcels couldn't be fetched! -- {w.error}"); continue; } ScenesAPIData scenesApiData = JsonUtility.FromJson <ScenesAPIData>(w.downloadHandler.text); Assert.IsTrue(scenesApiData != null, "Invalid response from ScenesAPI"); Assert.IsTrue(scenesApiData.data != null, "Invalid response from ScenesAPI"); foreach (var data in scenesApiData.data) { sceneCids.Add(data.root_cid); } } return(sceneCids); }
public static HashSet <string> GetScenesCids(IWebRequest webRequest, ApiTLD tld, List <Vector2Int> coords) { HashSet <string> sceneCids = new HashSet <string>(); foreach (Vector2Int v in coords) { string url = GetScenesAPIUrl(tld, v.x, v.y, 0, 0); DownloadHandler downloadHandler = null; try { downloadHandler = webRequest.Get(url); } catch (HttpRequestException e) { throw new HttpRequestException($"Request error! Parcels couldn't be fetched! -- {url} -- {e.Message}", e); } ScenesAPIData scenesApiData = JsonUtility.FromJson <ScenesAPIData>(downloadHandler.text); downloadHandler.Dispose(); Assert.IsTrue(scenesApiData != null, "Invalid response from ScenesAPI"); Assert.IsTrue(scenesApiData.data != null, "Invalid response from ScenesAPI"); foreach (var data in scenesApiData.data) { sceneCids.Add(data.root_cid); } } return(sceneCids); }