/// <summary> /// XML オブジェクトからカードテキストデータを構築します。 /// </summary> public static void SetCardInfosFromXml(XDocument doc) { Cards.Clear(); AltCardKeys.Clear(); AltCardSubKeys.Clear(); AltCards.Clear(); var node = doc.Element("cards"); if (node != null) { foreach (var element in node.Elements()) { switch (element.Name.LocalName) { case "card": var card = Card.FromXml(element); Cards.Add(card.Name, card); break; case "alt": string key = (string)element.Attribute("key"); string sub = (string)element.Attribute("sub"); AltCardKeys.Add(key); AltCardSubKeys.Add(sub); AltCards.Add(key + sub, new AltCard(key, sub, (string)element.Attribute("name"))); break; } } } }
public static bool TryGetAltCard(string name, out AltCard altCard) => AltCards.TryGetValue(name, out altCard);