Example #1
0
 public static Room LoadFile(ContentManager Content, String s_File)
 {
     XmlReaderSettings settings = new XmlReaderSettings();
     settings.ConformanceLevel = ConformanceLevel.Fragment;
     settings.IgnoreWhitespace = true;
     settings.IgnoreComments = true;
     Room instance = new Room();
     using (XmlReader XMLReader = XmlReader.Create(s_File, settings))
     {
         //go through the file finding these nodes and loading them
         while (XMLReader.Read())
         {
             if (XMLReader.IsStartElement())
             {
                 switch (XMLReader.Name)
                 {
                     case "Room":
                         //Console.WriteLine("Start <Room> element.");
                         break;
                     case "AnimatedSprite":
                         //Console.WriteLine("Start <AnimatedSprite> element.");
                         instance.RoomBase = new AnimatedSprite();
                         instance.RoomBase.xmlImport(XMLReader, Content);
                         break;
                     case "Weapon":
                         //Console.WriteLine("Start <Weapon> element.");
                         Items.Weapon wpn = new Items.Weapon();
                         wpn.xmlImport(XMLReader, Content);
                         instance.AddItem(wpn);
                         break;
                     case "Psyche":
                         //Console.WriteLine("Start <Psyche> element.");
                         Items.Psyche psy = new Items.Psyche();
                         psy.xmlImport(XMLReader, Content);
                         instance.AddItem(psy);
                         break;
                     case "Player":
                         //Console.WriteLine("Start <Player> element.");
                         Game1.ePlayer = new Entities.Player(Content);
                         Game1.ePlayer.xmlImport(XMLReader, Content);
                         break;
                     case "Enemy":
                         //Console.WriteLine("Start <Enemy> element.");
                         Entities.Enemy eny = new Entities.Enemy();
                         eny.xmlImport(XMLReader, Content);
                         instance.AddEntity(eny);
                         break;
                     case "BasicEnemy":
                         //Console.WriteLine("Start <BasicEnemy> element.");
                         Entities.BasicEnemy bsceny = new Entities.BasicEnemy();
                         bsceny.xmlImport(XMLReader, Content);
                         instance.AddEntity(bsceny);
                         break;
                     case "SpawnerEnemy":
                         //Console.WriteLine("Start <SpawnerEnemy> element.");
                         Entities.SpawnerEnemy swpeny = new Entities.SpawnerEnemy();
                         swpeny.xmlImport(XMLReader, Content);
                         instance.AddEntity(swpeny);
                         break;
                     case "BossEnemy":
                         //Console.WriteLine("Start <BossEnemy> element.");
                         Entities.BossEnemy bosseny = new Entities.BossEnemy();
                         bosseny.xmlImport(XMLReader, Content);
                         instance.AddEntity(bosseny);
                         break;
                     case "Obstacle":
                         //Console.WriteLine("Start <Obstacle> element.");
                         Obstacle obs = new Obstacle();
                         obs.xmlImport(XMLReader, Content);
                         instance.AddObject(obs);
                         break;
                 }
             }
         }
         //Console.WriteLine("End <Room> element.");
     }
     return instance;
 }
Example #2
0
 public new void xmlImport(XmlReader xml_Reader, ContentManager Content)
 {
     //lPsycheQueue.Clear();
     while (xml_Reader.Read())
     {
         String attrib;
         //Console.WriteLine("Player : " + xml_Reader.Name);
         switch (xml_Reader.Name)
         {
             case "Variables":
                 //attrib = xml_Reader["PsycheMax"];
                 //if (attrib != null) { iPsycheMax = int.Parse(attrib); }
                 attrib = xml_Reader["ItemPickupRange"];
                 if (attrib != null) { fItemPickupRange = float.Parse(attrib); }
                 attrib = xml_Reader["ShieldDuration"];
                 if (attrib != null) { fShieldDuration = float.Parse(attrib); }
                 attrib = xml_Reader["HealAmount"];
                 if (attrib != null) { fHealAmount = float.Parse(attrib); }
                 attrib = xml_Reader["HealDuration"];
                 if (attrib != null) { fHealDuration = float.Parse(attrib); }
                 attrib = xml_Reader["InvisibleAmount"];
                 if (attrib != null) { fInvisibleAmount = float.Parse(attrib); }
                 attrib = xml_Reader["InvisibleDuration"];
                 if (attrib != null) { fInvisibleDuration = float.Parse(attrib); }
                 attrib = xml_Reader["Sound_AttackSwing"];
                 if (attrib != null) { Content.Load<SoundEffect>(attrib); }
                 break;
             case "Weapon":
                 wWeapon = new Items.Weapon();
                 wWeapon.xmlImport(xml_Reader, Content);
                 break;
             //case "Psyche":
             //if (lPsycheQueue.Count < iPsycheMax)
             //{
             //    Items.Psyche p = new Items.Psyche();
             //    p.xmlImport(xml_Reader, Content);
             //    lPsycheQueue.Add(p);
             //}
             //break;
             case "AnimatedSprite":
                 asAttackSprite = new AnimatedSprite();
                 asAttackSprite.xmlImport(xml_Reader, Content);
                 break;
             case "Entity":
                 base.xmlImport(xml_Reader, Content);
                 break;
             case "Player":
                 return;
         }
     }
 }