private void btn_Create_Click(object sender, EventArgs e) { Planet p = new Planet(); p.Owner = PlayerType.Neutral; p.ID = ++NextID; planets.Add(p); PlanetProperty.SelectedObject = p; }
List<Planet> LoadMap(string map) { List<Planet> mapPlanets = new List<Planet>(); XmlReader xmlReader = XmlReader.Create(map); xmlReader.ReadStartElement(); while (xmlReader.Read()) { /*Read planet header*/ if (xmlReader.LocalName == "Planet" && xmlReader.IsStartElement()) { /*Read the ID element*/ xmlReader.Read(); xmlReader.MoveToElement(); xmlReader.ReadStartElement("ID"); int ID = xmlReader.ReadContentAsInt(); /*Read the owner element*/ xmlReader.Read(); xmlReader.MoveToElement(); xmlReader.ReadStartElement("Owner"); string owner = xmlReader.ReadContentAsString(); /*Read the forces element*/ xmlReader.Read(); xmlReader.MoveToElement(); xmlReader.ReadStartElement("Forces"); int forces = xmlReader.ReadContentAsInt(); /*Read the growth element*/ xmlReader.Read(); xmlReader.MoveToElement(); xmlReader.ReadStartElement("Growth"); int growth = xmlReader.ReadContentAsInt(); /*Read the growth cooldown element*/ xmlReader.Read(); xmlReader.MoveToElement(); xmlReader.ReadStartElement("GrowthCooldown"); int growthcd = xmlReader.ReadContentAsInt(); /*Read the size element*/ xmlReader.Read(); xmlReader.MoveToElement(); xmlReader.ReadStartElement("Size"); float size = xmlReader.ReadContentAsFloat(); /*Read the Position element*/ xmlReader.Read(); xmlReader.MoveToElement(); xmlReader.ReadStartElement("Position"); Microsoft.Xna.Framework.Vector2 Position = new Microsoft.Xna.Framework.Vector2(); /*Read the X element*/ xmlReader.Read(); xmlReader.MoveToElement(); xmlReader.ReadStartElement("X"); Position.X = xmlReader.ReadContentAsInt(); /*Read the Y element*/ xmlReader.Read(); xmlReader.MoveToElement(); xmlReader.ReadStartElement("Y"); Position.Y = xmlReader.ReadContentAsInt(); Planet p = new Planet(); p.ID = ID; p.Position = Position; p.Growth = growth; p.GrowthCounter =growthcd; p.Owner = (PlayerType)Enum.Parse(typeof(PlayerType), owner, false); p.Forces=forces; p.PlanetSize = size; mapPlanets.Add(p); } } return mapPlanets; }