Beispiel #1
0
        public CMap(string _Path)
        {
            m_Path = _Path;
            XmlDocument doc = new XmlDocument();

            doc.Load(m_Path);

            XmlNode root = doc.DocumentElement;

            m_WidthMap  = int.Parse(root.SelectSingleNode("Width").FirstChild.Value);
            m_HeightMap = int.Parse(root.SelectSingleNode("Height").FirstChild.Value);
            XmlNodeList nodeList = root.SelectNodes("Nodes");

            foreach (XmlNode Item in nodeList)
            {
                m_Nodes = new CNodes(Item);
            }


            for (int i = 0; i < m_Nodes.ListNodes.Count; ++i)
            {
                m_Map.Add(m_Nodes.ListNodes[i].ID, m_Nodes.ListNodes[i]);
                for (int j = 0; j < m_Nodes.ListNodes[i].ListObject.Count; ++j)
                {
                    int k = 0;
                    foreach (KeyValuePair <int, CGameObject> pair in m_ListObjects)
                    {
                        if (m_Nodes.ListNodes[i].ListObject[j].ID == pair.Key)
                        {
                            break;
                        }
                        ++k;
                    }

                    if (k == m_ListObjects.Count)
                    {
                        m_ListObjects.Add(m_Nodes.ListNodes[i].ListObject[j].ID, m_Nodes.ListNodes[i].ListObject[j]);
                    }
                }
            }
        }
Beispiel #2
0
        public CMap(string _Path)
        {
            m_Path = _Path;
            XmlDocument doc = new XmlDocument();
            doc.Load(m_Path);

            XmlNode root = doc.DocumentElement;
            m_WidthMap = int.Parse(root.SelectSingleNode("Width").FirstChild.Value);
               m_HeightMap = int.Parse(root.SelectSingleNode("Height").FirstChild.Value);
            XmlNodeList nodeList = root.SelectNodes("Nodes");

            foreach (XmlNode Item in nodeList)
            {
                m_Nodes = new CNodes(Item);
            }

            for (int i = 0; i < m_Nodes.ListNodes.Count; ++i)
            {

                m_Map.Add(m_Nodes.ListNodes[i].ID, m_Nodes.ListNodes[i]);
                for (int j = 0; j < m_Nodes.ListNodes[i].ListObject.Count; ++j)
                {
                    int k = 0;
                    foreach (KeyValuePair<int, CGameObject> pair in m_ListObjects)
                    {
                        if (m_Nodes.ListNodes[i].ListObject[j].ID == pair.Key)
                            break;
                        ++k;
                    }

                    if (k == m_ListObjects.Count)
                        m_ListObjects.Add(m_Nodes.ListNodes[i].ListObject[j].ID, m_Nodes.ListNodes[i].ListObject[j]);
                }
            }
        }