public static PlatformerLevelLoader load(string filename) { PlatformerLevelLoader current = new PlatformerLevelLoader(); current.Name = filename.ToUpper(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(OldSkullGame.Path + @"Content\Level\"+filename+".oel"); XmlElement levelMap = xmlDoc["level"]; current.Left = levelMap.Attr("leftExit"); current.Right = levelMap.Attr("rightExit"); current.size = new Vector2(int.Parse(levelMap.Attr("width")), int.Parse(levelMap.Attr("height"))); current.solids = new List<Solid>(); current.solidGrid = new Grid(16, 16, levelMap["Solid"].InnerText); current.entities = new List<XmlElement>(); foreach (XmlElement e in levelMap["Objects"]) { current.entities.Add(e); } current.tilesets = new List<XmlElement>(); foreach (XmlElement e in levelMap) { if (e.HasAttr("tileset")) { current.tilesets.Add(e); } } return current; }
internal virtual void loadLevel(PlatformerLevelLoader ll) { Name = ll.Name; foreach (Solid solid in ll.solids) { Add(solid); Solids.Add(solid); } foreach (XmlElement e in ll.entities) { LoadEntity(e); } foreach (XmlElement e in ll.tilesets) { LoadTileset(e); } ConnectionRight = ll.Right; ConnectionLeft = ll.Left; Add(new SolidGrid(ll.solidGrid)); }