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]); } } } }
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]); } } }