private TopGamesInfo GetTopGamesData() { // create web request form var request = WebRequest.Create(url); request.Method = "Get"; request.Timeout = 12000; request.Headers.Add("Client-ID", clientID); // get response from API HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // get data stream from API Stream dataStream = response.GetResponseStream(); // open data stream StreamReader dataReader = new StreamReader(dataStream); // read data stream string data = dataReader.ReadToEnd(); //Debug.Log(data); // transform JSON into a serialized object TopGamesInfo jsonData = JsonUtility.FromJson <TopGamesInfo>(data); //Debug.Log(jsonData.data[0].name); // close streams dataReader.Close(); dataStream.Close(); response.Close(); return(jsonData); }
private List <string> GetGameNames(TopGamesInfo jsonData) { // make sure previous list is cleared to prevent duplicates when refreshing gameNames.Clear(); // loop through serialized JSON data for game names and add to list for (int i = 0; i < jsonData.data.Count; i++) { gameNames.Add(jsonData.data[i].name); } return(gameNames); }
private Dictionary <string, string> GetGameDictionary(TopGamesInfo jsonData) { // make sure previous dictionary is cleared to prevent duplicates when refreshing gameDictionary.Clear(); gameDictionary.Add("0", "Null"); // add entry for null (for use in future builds) // loop through serialized JSON data for game ids and names and add to dictionary for (int i = 0; i < jsonData.data.Count; i++) { gameDictionary.Add(jsonData.data[i].id, jsonData.data[i].name); } return(gameDictionary); }
private void LoadTopGames() { // load serialized JSON data TopGamesInfo jsonTopGames = GetTopGamesData(); // method calls to parse serialized JSON data GetGameIDs(jsonTopGames); GetGameNames(jsonTopGames); GetGameDictionary(jsonTopGames); // **setup event system in future** // send out event signal that top games have been refreshed //topGamesRefreshed.Invoke(); Debug.Log("Update top games"); }