public static List<runes> PopulateRunes() { List<runes> RuneList = new List<runes>(); string runeJSON = File.ReadAllText(Path.Combine(Client.ExecutingDirectory, "Assets", "data", "en_US", "rune.json")); JavaScriptSerializer serializer = new JavaScriptSerializer(); Dictionary<string, object> deserializedJSON = serializer.Deserialize<Dictionary<string, object>>(runeJSON); Dictionary<string, object> runeData = deserializedJSON["data"] as Dictionary<string, object>; foreach (KeyValuePair<string, object> rune in runeData) { runes newRune = new runes(); Dictionary<string, object> singularRuneData = rune.Value as Dictionary<string, object>; newRune.id = Convert.ToInt32(rune.Key); newRune.name = singularRuneData["name"] as string; newRune.description = singularRuneData["description"] as string; newRune.description = newRune.description.Replace("(", "\n"); newRune.description = newRune.description.Replace(")", ""); newRune.stats = singularRuneData["stats"] as Dictionary<string, object>; newRune.tags = singularRuneData["tags"] as ArrayList; Dictionary<string, object> imageData = singularRuneData["image"] as Dictionary<string, object>; var uriSource = Path.Combine(Client.ExecutingDirectory, "Assets", "rune", (string)imageData["full"]); newRune.icon = Client.GetImage(uriSource); RuneList.Add(newRune); } return RuneList; }
public static List<runes> PopulateRunes() { var runeList = new List<runes>(); var runeJson = File.ReadAllText(Path.Combine(Client.ExecutingDirectory, "Assets", "data", "en_US", "rune.json")); var serializer = new JavaScriptSerializer(); var deserializedJson = serializer.Deserialize<Dictionary<string, object>>(runeJson); var runeData = deserializedJson["data"] as Dictionary<string, object>; if (runeData == null) return runeList; foreach (var rune in runeData) { var singularRuneData = rune.Value as Dictionary<string, object>; if (singularRuneData == null) continue; var newRune = new runes { id = Convert.ToInt32(rune.Key), name = singularRuneData["name"] as string, description = singularRuneData["description"] as string }; newRune.description = newRune.description.Replace("(", "\n"); newRune.description = newRune.description.Replace(")", string.Empty); newRune.stats = singularRuneData["stats"] as Dictionary<string, object>; newRune.tags = singularRuneData["tags"] as ArrayList; var imageData = singularRuneData["image"] as Dictionary<string, object>; if (imageData != null) { var UriSource = Path.Combine(Client.ExecutingDirectory, "Assets", "rune", (string) imageData["full"]); newRune.icon = Client.GetImage(UriSource); } runeList.Add(newRune); } return runeList; }