private void _FillOutDataToCard(Card card) { card.Id = CardManager.GetInstance().GetNextValidId(); card.Name = CardName_text.Text; card.Cost = Convert.ToUInt32(CardCost_text.Text); card.Type = (Card.CardType)CardType_chooser.SelectedIndex; card.SubType = (Card.CardSubType)CardSubtype_chooser.SelectedIndex; card.Attack = Convert.ToInt32(CardAttack_text.Text); card.Defense = Convert.ToInt32(CardDefense_text.Text); card.Hitpoints = Convert.ToInt32(CardHitpoints_text.Text); // Factions card.SetFactions(0); if (true == FactionHuman_checkbox.Checked) { card.AddFaction(GameEntity.Faction.FACTION_HUMAN); } if (true == FactionVampire_checkbox.Checked) { card.AddFaction(GameEntity.Faction.FACTION_VAMPIRE); } if (true == FactionScoundrel_checkbox.Checked) { card.AddFaction(GameEntity.Faction.FACTION_SCOUNDREL); } if (true == FactionBarbarian_checkbox.Checked) { card.AddFaction(GameEntity.Faction.FACTION_BARBARIAN); } if (true == FactionDragon_checkbox.Checked) { card.AddFaction(GameEntity.Faction.FACTION_DRAGON); } if (true == FactionOrc_checkbox.Checked) { card.AddFaction(GameEntity.Faction.FACTION_ORC); } // Card Effects card.RemoveAllEffects(); foreach(Effect e in CardEffects_listbox.Items) { card.AddEffectById(e.Id); } }
private void Save_btn_Click(object sender, EventArgs e) { Card card; if(-1 == mLastSelectedIndex || mLastSelectedIndex >= CardManager.GetInstance().GetListCards().Count) { // Build & add new card card = new Card(); _FillOutDataToCard(card); CardManager.GetInstance().AddCard(card); } else { // Just fill out card with new data and save card = CardManager.GetInstance().GetCardAtIndex(mLastSelectedIndex); _FillOutDataToCard(card); } _RefreshListbox(); }
private void _RemoveCardFromSet(Card c) { SetCards_listBox.Items.Remove(c); AllCards_listBox.Items.Add(c); }
public void AddCard(Card card) { mCards.Add(card); }
public void Parse(List<Card> outList) { XmlDocument doc = new XmlDocument(); doc.Load(mFilename); XmlNodeList nodes = doc.SelectNodes(ROOT_NODE); foreach (XmlNode node in nodes) { Card card = new Card(); foreach(XmlNode c in node.ChildNodes) { switch(c.Name) { case P_NAME: { card.Name = c.InnerText; break; } case P_TYPE: { card.Type = ParseEnum<Card.CardType>(c.InnerText); break; } case P_SUBTYPE: { card.SubType = ParseEnum<Card.CardSubType>(c.InnerText); break; } case P_ID: { card.Id = Convert.ToUInt32(c.InnerText); break; } case P_COST: { card.Cost = Convert.ToUInt32(c.InnerText); break; } case P_FACTIONS: { card.SetFactions(Convert.ToUInt32(c.InnerText)); break; } case P_FRAMECOLOR: { card.FrameColor = ParseEnum<Card.eFrameColor>(c.InnerText); break; } case P_ATTACK: { card.Attack = Convert.ToInt32(c.InnerText); break; } case P_DEFENSE: { card.Defense = Convert.ToInt32(c.InnerText); break; } case P_HITPOINTS: { card.Hitpoints = Convert.ToInt32(c.InnerText); break; } case P_EFFECTS: { foreach(XmlNode e in c.ChildNodes) { uint eId = Convert.ToUInt32(e.InnerText); card.AddEffectById(eId); } break; } default: { Console.WriteLine("Unhandled node type: " + c.Name); break; } } } outList.Add(card); } }
private void _AppendCardNode(XmlDocument doc, XmlElement root, Card data) { // Set up our card element XmlElement card = doc.CreateElement(CARD_NODE); // Declare element storage XmlElement element; // Create attribute nodes element = doc.CreateElement(P_NAME); element.InnerText = data.Name; card.AppendChild(element); element = doc.CreateElement(P_TYPE); element.InnerText = data.Type.ToString(); card.AppendChild(element); element = doc.CreateElement(P_SUBTYPE); element.InnerText = data.SubType.ToString(); card.AppendChild(element); element = doc.CreateElement(P_ID); element.InnerText = data.Id.ToString(); card.AppendChild(element); element = doc.CreateElement(P_COST); element.InnerText = data.Cost.ToString(); card.AppendChild(element); element = doc.CreateElement(P_FACTIONS); element.InnerText = data.GetFactions().ToString(); card.AppendChild(element); element = doc.CreateElement(P_FRAMECOLOR); element.InnerText = data.FrameColor.ToString(); card.AppendChild(element); element = doc.CreateElement(P_ATTACK); element.InnerText = data.Attack.ToString(); card.AppendChild(element); element = doc.CreateElement(P_DEFENSE); element.InnerText = data.Defense.ToString(); card.AppendChild(element); element = doc.CreateElement(P_HITPOINTS); element.InnerText = data.Hitpoints.ToString(); card.AppendChild(element); List<uint> effectsList = data.GetAllEffectIds(); if (0 < effectsList.Count) { XmlElement effects = doc.CreateElement(P_EFFECTS); foreach (uint eId in effectsList) { XmlElement effect = doc.CreateElement(P_EFFECT); effect.InnerText = eId.ToString(); effects.AppendChild(effect); } card.AppendChild(effects); } // Append this to our root element root.AppendChild(card); }