Exemplo n.º 1
0
    public void LoadXml()
    {
        this.gameLevelDictionary.Clear();

        XmlDocument xml     = new XmlDocument();
        string      xmlPath = Application.dataPath + "/Config/gameLevel.xml";

        xml.Load(xmlPath);
        XmlElement  rootElem       = xml.DocumentElement;
        XmlNodeList gameLevelNodes = rootElem.GetElementsByTagName("gameLevel");

        foreach (XmlNode gameLevelNode in gameLevelNodes)
        {
            XmlGameLevel xmlGameLevel = new XmlGameLevel();
            int          gameLevelId  = int.Parse(((XmlElement)gameLevelNode).GetAttribute("id"));

            {
                XmlNodeList nodes = ((XmlElement)gameLevelNode).GetElementsByTagName("bg");
                foreach (XmlNode node in nodes)
                {
                    string prefabs = ((XmlElement)node).GetAttribute("prefabs");
                    xmlGameLevel.AddBgPrefabs(prefabs);
                }
            }
            {
                XmlNodeList nodes = ((XmlElement)gameLevelNode).GetElementsByTagName("enemy");
                foreach (XmlNode node in nodes)
                {
                    XmlGameLevelEnemy enemy = new XmlGameLevelEnemy();
                    enemy.planeId   = int.Parse(((XmlElement)node).GetAttribute("planeId"));
                    enemy.enterTime = float.Parse(((XmlElement)node).GetAttribute("enterTime"));
                    {
                        string   str  = ((XmlElement)node).GetAttribute("enter");
                        string[] data = str.Split(',');
                        enemy.enterX = float.Parse(data[0]);
                        enemy.enterY = float.Parse(data[1]);
                    }

                    {
                        string   str  = ((XmlElement)node).GetAttribute("direction");
                        string[] data = str.Split(',');
                        enemy.directionX = float.Parse(data[0]);
                        enemy.directionY = float.Parse(data[1]);
                    }

                    xmlGameLevel.AddEnemy(enemy);
                }
            }
            this.gameLevelDictionary.Add(gameLevelId, xmlGameLevel);
        }
    }
Exemplo n.º 2
0
 public void AddEnemy(XmlGameLevelEnemy enemy)
 {
     this.enemyList.Add(enemy);
 }