public static List <DataCards.Galaxy> getGalaxiesFromXML() { List <DataCards.Galaxy> rtnGalaxies = new List <DataCards.Galaxy>(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(_DataPath + _GalaxiesXMLPath); XmlNodeList xmlTerrainNodes = xmlDoc.GetElementsByTagName("Galaxy"); foreach (XmlNode curNode in xmlTerrainNodes) { DataCards.Galaxy curGalaxy = new DataCards.Galaxy(); curGalaxy.Name = curNode.Attributes["Name"].InnerText; curGalaxy.UniverseCoordinates = new Coordinates(curNode.Attributes["UniverseCoordinates"].InnerText); curGalaxy.MouseImageAreaCoordinates = curNode.Attributes["MouseImageAreaCoordinates"].InnerText; XmlNodeList xmlGalaxyPlanets = curNode.ChildNodes; Random random = new Random(); foreach (XmlNode curPlanetNode in xmlGalaxyPlanets) { DataCards.Planet curPlanet = new DataCards.Planet(); curPlanet.Name = curPlanetNode.Attributes["Name"].InnerText; curPlanet.HeaderText = curPlanetNode.Attributes["HeaderText"].InnerText; curPlanet.GroundSpaces = new GameEngine.GalacticComponents.PlanetSpace(Convert.ToInt32(curPlanetNode.Attributes["DefaultPlanetGroundSpaces"].InnerText)); //Setup resources ~We will do random for now. int randomNumber = random.Next(1000, 10000); curPlanet.RawMaterialsPerDay = randomNumber; XmlNodeList xmlPlanetAttributes = curPlanetNode.ChildNodes; foreach (XmlNode curPlanetAttr in xmlPlanetAttributes) { //DataCards.Planet curPlanet = new DataCards.Planet(); //curPlanet.Name = curPlanetNode.Attributes["Name"].InnerText; //curPlanet.HeaderText = curPlanetNode.Attributes["HeaderText"].InnerText; //curPlanet.Spaces = new GameEngine.GalacticComponents.PlanetSpace(Convert.ToInt32(curPlanetNode.Attributes["DefaultPlanetSpaces"].InnerText)); if (curPlanetAttr.Name == "Description") { curPlanet.Description = curPlanetAttr.InnerText; } else { curPlanet.Description = ""; } } curGalaxy.addPlanet(curPlanet); } rtnGalaxies.Add(curGalaxy); //XmlNodeList xmlTerrainImages = curNode.ChildNodes; //foreach (XmlNode curImgNode in xmlTerrainImages) //{ // curWidgetData.addObjImage(new System.Drawing.Bitmap(curImgNode.Attributes["src"].InnerText)); //} //_terrainObjects.Add(curWidgetData); } return(rtnGalaxies); }
public static List<DataCards.Galaxy> getGalaxiesFromXML() { List<DataCards.Galaxy> rtnGalaxies = new List<DataCards.Galaxy>(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(_DataPath + _GalaxiesXMLPath); XmlNodeList xmlTerrainNodes = xmlDoc.GetElementsByTagName("Galaxy"); foreach (XmlNode curNode in xmlTerrainNodes) { DataCards.Galaxy curGalaxy = new DataCards.Galaxy(); curGalaxy.Name = curNode.Attributes["Name"].InnerText; curGalaxy.UniverseCoordinates = new Coordinates(curNode.Attributes["UniverseCoordinates"].InnerText); curGalaxy.MouseImageAreaCoordinates = curNode.Attributes["MouseImageAreaCoordinates"].InnerText; XmlNodeList xmlGalaxyPlanets = curNode.ChildNodes; Random random = new Random(); foreach (XmlNode curPlanetNode in xmlGalaxyPlanets) { DataCards.Planet curPlanet = new DataCards.Planet(); curPlanet.Name = curPlanetNode.Attributes["Name"].InnerText; curPlanet.HeaderText = curPlanetNode.Attributes["HeaderText"].InnerText; curPlanet.GroundSpaces = new GameEngine.GalacticComponents.PlanetSpace(Convert.ToInt32(curPlanetNode.Attributes["DefaultPlanetGroundSpaces"].InnerText)); //Setup resources ~We will do random for now. int randomNumber = random.Next(1000, 10000); curPlanet.RawMaterialsPerDay = randomNumber; XmlNodeList xmlPlanetAttributes = curPlanetNode.ChildNodes; foreach (XmlNode curPlanetAttr in xmlPlanetAttributes) { //DataCards.Planet curPlanet = new DataCards.Planet(); //curPlanet.Name = curPlanetNode.Attributes["Name"].InnerText; //curPlanet.HeaderText = curPlanetNode.Attributes["HeaderText"].InnerText; //curPlanet.Spaces = new GameEngine.GalacticComponents.PlanetSpace(Convert.ToInt32(curPlanetNode.Attributes["DefaultPlanetSpaces"].InnerText)); if (curPlanetAttr.Name == "Description") { curPlanet.Description = curPlanetAttr.InnerText; } else { curPlanet.Description = ""; } } curGalaxy.addPlanet(curPlanet); } rtnGalaxies.Add(curGalaxy); //XmlNodeList xmlTerrainImages = curNode.ChildNodes; //foreach (XmlNode curImgNode in xmlTerrainImages) //{ // curWidgetData.addObjImage(new System.Drawing.Bitmap(curImgNode.Attributes["src"].InnerText)); //} //_terrainObjects.Add(curWidgetData); } return rtnGalaxies; }