Exemplo n.º 1
0
        public void LoadDeckList(String filePath)
        {
            if (File.Exists(filePath) == false)
            {
                return;
            }

            XmlDocument doc = new XmlDocument();

            doc.Load(filePath.ToString());

            foreach (XmlNode node in doc.DocumentElement.ChildNodes)
            {
                String name         = node.Attributes["Name"].Value;
                String expansionStr = node.Attributes["Expansion"].Value;
                String numStr       = node.Attributes["Num"].Value;

                eExpansion expansion = GetExpansionEnumFromString(expansionStr);

                DeckCardData cardData = new DeckCardData();
                cardData.SetCardNum(Int32.Parse(numStr));
                cardData.SetCardData(m_CardList[expansion][name]);

                m_DeckList.Add(name, cardData);
            }
        }
Exemplo n.º 2
0
        public void CrawlingCard()
        {
            String        expansionName = ExpansionComboBox.SelectedItem as String;
            eExpansion    expansion     = GetExpansionEnumFromString(expansionName);
            StringBuilder imagePath     = new StringBuilder(m_cardImageDir);

            imagePath.Append(expansionName);
            imagePath.Append("\\");

            int startCardId = m_setStartIdList[expansion];

            for (int i = 0; i < m_cardSetNumList[expansion]; ++i)
            {
                int    cardID    = startCardId + i;
                String strCardID = cardID.ToString();
                String url       = m_WebLibrary.MakeURL(strCardID);

                HtmlDocument doc  = m_WebLibrary.GetHTMLDocumentByURL(url);
                CardData     card = m_WebLibrary.MakeCardData(doc, imagePath.ToString(), strCardID);

                if (m_CardList[expansion].ContainsKey(card.GetCardName()) == false)
                {
                    if (File.Exists(imagePath.ToString()) == false)
                    {
                        m_WebLibrary.DownLoadCardImage(imagePath.ToString(), ref card);
                    }

                    m_CardList[expansion].Add(card.GetCardName(), card);
                }

                double progressRate = (double)m_CardList[expansion].Count / (double)m_cardSetNumList[expansion];
                CardDataProgressBar.Value = (int)(progressRate * 100);
            }
        }
Exemplo n.º 3
0
        public DeckBuilder()
        {
            InitializeComponent();

            // initialize member variables
            m_setStartIdList = new Dictionary <eExpansion, int>();
            m_cardSetNumList = new Dictionary <eExpansion, int>();
            m_WebLibrary     = new WebLibrary();
            m_CardList       = new Dictionary <eExpansion, Dictionary <string, CardData> >();
            for (eExpansion expansion = eExpansion.XLN; expansion < eExpansion.EXPANSION_MAX; ++expansion)
            {
                Dictionary <string, CardData> cardList = new Dictionary <string, CardData>();
                m_CardList.Add(expansion, cardList);
            }

            m_DeckList = new Dictionary <string, DeckCardData>();

            // load settings & card data
            LoadSettings();
            LoadCardData();
            RefreshCardList();

            SetExpansionComboBox();
            SetCardNumComboBox();
        }
Exemplo n.º 4
0
        private void SetExpansionComboBox()
        {
            for (eExpansion expansion = eExpansion.XLN; expansion != eExpansion.EXPANSION_MAX; expansion++)
            {
                ExpansionComboBox.Items.Add(GetFullNameFromExpansionEnum(expansion));
            }

            ExpansionComboBox.SelectedIndex = 0;
        }
Exemplo n.º 5
0
        public bool LoadSettings()
        {
            StringBuilder path = new StringBuilder("CardData\\");

            if (Directory.Exists(path.ToString()) == false)
            {
                Directory.CreateDirectory(path.ToString());
            }

            path.Append("Settings.xml");
            if (File.Exists(path.ToString()) == false)
            {
                return(false);
            }

            XmlDocument doc = new XmlDocument();

            doc.Load(path.ToString());

            foreach (XmlNode node in doc.DocumentElement.ChildNodes)
            {
                if (node.Name == "CardDataDir")
                {
                    m_cardDataDir = node.InnerText;
                }
                else if (node.Name == "CardImageDir")
                {
                    m_cardImageDir = node.InnerText;
                }
                else if (node.Name == "SetStartID")
                {
                    for (eExpansion expansion = eExpansion.XLN; expansion != eExpansion.EXPANSION_MAX; expansion++)
                    {
                        String data = node.Attributes[expansion.ToString()].Value;
                        m_setStartIdList.Add(expansion, Int32.Parse(data));
                    }
                }
                else if (node.Name == "SetCardNum")
                {
                    for (eExpansion expansion = eExpansion.XLN; expansion != eExpansion.EXPANSION_MAX; expansion++)
                    {
                        String data = node.Attributes[expansion.ToString()].Value;
                        m_cardSetNumList.Add(expansion, Int32.Parse(data));
                    }
                }
            }

            return(true);
        }
Exemplo n.º 6
0
        private String GetFullNameFromExpansionEnum(eExpansion expansion)
        {
            switch (expansion)
            {
            case eExpansion.XLN: return("Ixalan");

            case eExpansion.RIX: return("Rivals of Ixalan");

            case eExpansion.DOM: return("Dominaria");

            case eExpansion.M19: return("Core Set 2019");

            case eExpansion.GRN: return("Guild of Ravnica");

            case eExpansion.RNA: return("Ravnica Allegiance");

            default: return("");
            }
        }
Exemplo n.º 7
0
        public void LoadCardData()
        {
            if (Directory.Exists(m_cardDataDir) == false)
            {
                Directory.CreateDirectory(m_cardDataDir);
            }

            for (eExpansion expansion = eExpansion.XLN; expansion != eExpansion.EXPANSION_MAX; expansion++)
            {
                StringBuilder filePath = new StringBuilder(m_cardDataDir);
                filePath.Append(expansion.ToString());
                filePath.Append(".xml");

                if (File.Exists(filePath.ToString()) == false)
                {
                    continue;
                }

                XmlDocument doc = new XmlDocument();
                doc.Load(filePath.ToString());

                foreach (XmlNode node in doc.DocumentElement.ChildNodes)
                {
                    CardData cardData = new CardData();
                    cardData.SetCardSet(expansion.ToString());
                    StringBuilder value = new StringBuilder();

                    value.Append(node.Attributes["ID"].Value);
                    cardData.SetCardID(value.ToString());
                    value.Clear();

                    value.Append(node.Attributes["Name"].Value);
                    cardData.SetCardName(value.ToString());
                    value.Clear();

                    value.Append(node.Attributes["ManaCost"].Value);
                    cardData.SetManaCost(value.ToString());
                    value.Clear();

                    value.Append(node.Attributes["CMC"].Value);
                    cardData.SetCMC(value.ToString());
                    value.Clear();

                    value.Append(node.Attributes["Type"].Value);
                    cardData.SetType(value.ToString());
                    value.Clear();

                    value.Append(node.Attributes["Text"].Value);
                    cardData.SetText(value.ToString());
                    value.Clear();

                    value.Append(node.Attributes["Rarity"].Value);
                    cardData.SetRarity(value.ToString());
                    value.Clear();

                    value.Append(node.Attributes["ImagePath"].Value);
                    cardData.SetImagePath(value.ToString());
                    value.Clear();

                    m_CardList[expansion].Add(cardData.GetCardName(), cardData);
                }
            }
        }