Ejemplo n.º 1
0
    void InitGroups()
    {
        string[] listOfXMLFiles = Directory.GetFiles(Path.Combine(Application.dataPath, "Config"), "*.xml");

        int index = 0;

        foreach (string path in listOfXMLFiles)
        {
            XmlDocument xmlDoc = new XmlDocument(); // xmlDoc is the new xml document.
            string content = System.IO.File.ReadAllText(path);
            xmlDoc.LoadXml(content);
            XmlNodeList levelsList = xmlDoc.GetElementsByTagName("group"); // array of the level nodes.
            foreach (XmlNode levelInfo in levelsList)
            {
                string name = "error";
                string f_min = "error";
                string f_max = "error";
                List<string> electrodes = new List<string>();
                XmlNodeList levelcontent = levelInfo.ChildNodes;
                foreach (XmlNode levelsItems in levelcontent)
                {
                    if (levelsItems.Name == "name")
                    {
                        name = levelsItems.InnerText;
                    }
                    else if (levelsItems.Name == "f_min")
                    {
                        f_min = levelsItems.InnerText;
                    }
                    else if (levelsItems.Name == "f_max")
                    {
                        f_max = levelsItems.InnerText;
                    }
                    else if (levelsItems.Name == "electrodes_list")
                    {
                        XmlNodeList subLevelcontent = levelsItems.ChildNodes;
                        foreach (XmlNode subLevelsItems in subLevelcontent)
                        {
                            if (subLevelsItems.Name == "electrode")
                            {
                                electrodes.Add(subLevelsItems.InnerText);
                            }
                            else
                            {
                                Debug.LogError("ERROR : invalid content in Xml file, marke '" + subLevelsItems.Name + "' have been found");
                            }
                        }
                    }
                    else
                    {
                        Debug.LogError("ERROR : invalid content in Xml file, marke '" + levelsItems.Name + "' have been found");
                    }
                }
                List<int> elecsInt = new List<int>();
                foreach (string s in electrodes)
                {
                    elecsInt.Add(reverseDict(Group.ElecNames)[s]);
                }
                Group g = new Group(name, elecsInt, int.Parse(f_min), int.Parse(f_max));
                g.setMoyenne(TMoyenne);
                g.setEcartType(TEcartType);
                m_allGroups.Add(g);
                /*
                Debug.Log ("__________________________");
                Debug.Log ("name is "+name);
                Debug.Log ("f_min is "+f_min);
                Debug.Log ("f_max is "+f_max);
                Debug.Log("electrodes :");
                foreach(string s in electrodes)
                {
                    Debug.Log ("elec is "+s);
                }
                */
            }
        }
    }