Exemple #1
0
        public void Parse(IEnumerable <XElement> enemies)
        {
            foreach (XElement element in enemies)
            {
                int power, speed, freq;
                SpriteOrientation orient;

                Rectangle position = ParsePosition(element);
                string    message  = ParseMessage(element);
                power  = ParseInt(element, GenericParser.powerAttr);
                speed  = ParseInt(element, GenericParser.speedAttr);
                freq   = ParseInt(element, GenericParser.freqAttr);
                orient = ParseSpriteOrientation(element, GenericParser.orientionAttr);
                CollisionType collisionType = ParseCollisionType(element);

                if (element.Name.ToString().Equals(GenericParser.hortoise))
                {
                    HortoiseEnemy h = new HortoiseEnemy(position, power, speed, orient, collisionType, message);
                    EnemiesList.Add(h);
                }

                else if (element.Name.ToString().Equals(GenericParser.spider))
                {
                    SpiderEnemy s = new SpiderEnemy(position, power, speed, freq, orient, collisionType, message);
                    EnemiesList.Add(s);
                }

                else if (element.Name.ToString().Equals(GenericParser.cactus))
                {
                    CactusEnemy c = new CactusEnemy(position, power, speed, freq, collisionType, message);
                    EnemiesList.Add(c);
                }

                else if (element.Name.ToString().Equals(GenericParser.golem))
                {
                    GolemEnemy g = new GolemEnemy(position, new Vector2(0, 0), SpriteFactory.GetGolemEnemySprite(), power, collisionType, message);
                    EnemiesList.Add(g);
                }
            }
        }