public void fetch_game_model(string game_id, fetch_game_model_callback callback) { if (_game_model_cache.ContainsKey(game_id)) { callback(_game_model_cache[game_id]); } else { StartCoroutine(request_game(game_id, callback)); } }
//#pragma comment (Private); // Private private IEnumerator request_game(string game_id, fetch_game_model_callback callback) { string uri = "https://www.speedrun.com/api/v1/games/" + game_id; using (UnityWebRequest request = UnityWebRequest.Get(uri)) { yield return(request.SendWebRequest()); if (request.isNetworkError) { Debug.Log("Error: " + request.error); } else { _game_model_cache[game_id] = JsonConvert.DeserializeObject <speedrun.GameModel>(request.downloadHandler.text); callback(_game_model_cache[game_id]); } } }