コード例 #1
0
        private void setXMLToObjectGame(string namefile)
        {
            string namefolder = previewBoard.getFolderXML();
            string path       = System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\" + namefolder + "\\" + namefile + ".xml";

            XmlDocument doc = new XmlDocument();

            try
            {
                doc.Load(path);
            }
            catch (Exception)
            {
                MessageBox.Show("Error , not found file.");
                return;
            }

            // set color.
            myBoardGame.setColorSection(previewBoard.getColorSectionA(), previewBoard.getColorSectionB());

            foreach (XmlNode node in doc.DocumentElement.ChildNodes)
            {
                if (node.Name == "boardWidth")
                {
                    myBoardGame.setWidth(Convert.ToInt32(node.InnerText.ToString()));
                }
                else if (node.Name == "boardHeight")
                {
                    myBoardGame.setHeight(Convert.ToInt32(node.InnerText.ToString()));
                }
                else if (node.Name == "typeBoard")
                {
                    myBoardGame.setTypeBoard(node.InnerText.ToString());
                }
                else if (node.Name == "listTableBoard")
                {
                    foreach (XmlNode subnode in node.ChildNodes)
                    {
                        if (subnode.Name == "string")
                        {
                            string[] separators = { "," };
                            string   value      = subnode.InnerText.ToString();
                            string[] words      = value.Split(separators, StringSplitOptions.RemoveEmptyEntries);

                            int i      = 0;
                            int j      = 0;
                            int player = 0;
                            int status = 0;
                            i      = Convert.ToInt32(words[0]);
                            j      = Convert.ToInt32(words[1]);
                            player = Convert.ToInt32(words[2]);
                            status = Convert.ToInt32(words[3]);
                            //Console.Write("" + player);
                            if (player > 0) // have item.
                            {
                                myBoardGame.setTablePlayerHolder(i, j, player);
                                myBoardGame.setTableItemStatus(i, j, status);
                            }
                        }
                    }
                }
                //    else if (node.Name == "TextColorHtmlSection1")
                //    {
                //        myBoardGame.setColorSectionA(ColorTranslator.FromHtml(node.InnerText.ToString()));
                //    }
                //    else if (node.Name == "TextColorHtmlSection2")
                //    {
                //        myBoardGame.setColorSectionB(ColorTranslator.FromHtml(node.InnerText.ToString()));
                //    }
            }
        }