public static CountedCollection<Card> ParseDeck(string filename) { var deck = new CountedCollection<Card>(); var parser = new ConfigParser(filename, ' '); var colors = parser.Sections; foreach(var colorKey in colors) { var colorCards = parser.GetSection(colorKey); foreach(var card in colorCards) { var color = Global.ColorMap.GetValueOrDefault(colorKey, -1); var type = Global.TypeMap[card.Key]; var value = Global.ValueMap[card.Key]; var number = card.Value.ToInt(); deck.Add(new Card(color, type, value), number); } } return deck; }
/// <summary> /// Returns a mapping between name and host:port, all in lowercase. /// </summary> /// <param name="filename"></param> /// <returns></returns> public static Dictionary<string, string> ParseServerFavorites(string filename) { var favorites = new Dictionary<string, string>(); var parser = new ConfigParser(filename); const string header = "Saved Hosts"; var mixedCaseFavorites = parser.GetSection(header); foreach (var key in mixedCaseFavorites.Keys) favorites[key.ToLower()] = mixedCaseFavorites[key].ToLower(); return favorites; }