public static void saveWorld(World world, String fileName) { List<TerrainTile> tiles = world.getTerrain (); List<Entity> entities = world.getEntities (); Size size = world.getSize (); using (XmlWriter writer = XmlWriter.Create(Path.Combine(StaticVariables.levelFolder, fileName + ".xml"))) { writer.WriteStartDocument(); writer.WriteStartElement("world"); writer.WriteStartElement("size"); writer.WriteElementString(xmlVar.Width, size.Width.ToString()); writer.WriteElementString(xmlVar.Height, size.Width.ToString()); writer.WriteEndElement(); writer.WriteStartElement("tiles"); foreach (TerrainTile tile in tiles) { writer.WriteStartElement(xmlVar.Tile); writer.WriteElementString(xmlVar.ID, tile.getID().ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteStartElement("entities"); foreach (Entity e in entities) { writer.WriteStartElement(xmlVar.Entity); writer.WriteElementString(xmlVar.ID, e.getID().ToString()); writer.WriteElementString(xmlVar.Type, ((int)e.getType()).ToString()); writer.WriteElementString(xmlVar.SpriteID, e.getSpriteID().ToString()); writer.WriteElementString("x", e.getLocation().X.ToString()); writer.WriteElementString("y", e.getLocation().Y.ToString()); writer.WriteElementString(xmlVar.Solid, e.getSolid().ToString()); writer.WriteElementString(xmlVar.DrawOrder, e.getDrawOrder().ToString()); writer.WriteElementString(xmlVar.BoudingBox, e.getBoundingBox().ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndDocument(); } }
/// <summary> /// Initializes a new instance of the <see cref="KBSGame.EditorGui"/> class. /// </summary> /// <param name="ID">I.</param> /// <param name="screenResX">Screen res x.</param> /// <param name="screenResY">Screen res y.</param> /// <param name="drawRatio">Draw ratio.</param> /// <param name="world">World.</param> public EditorGui(int ID, int screenResX, int screenResY, float drawRatio, World world) : base(ID, screenResX, screenResY, drawRatio) { this.world = world; width = Math.Min (StaticVariables.dpi * 2, screenResX / 2); tabWidth = width - tabbarWidth - margin*2; rowLength = (width - margin * 2 - tabbarWidth) / StaticVariables.tileSize; currentHover = new Point (0, 0); worldSize = world.getSize (); terrainTiles = world.getTileTypes (); loadEntities (); }
public void reset(int screenResX, int screenResY, float drawRatio, World world) { this.world = world; base.resize (screenResX, screenResY, drawRatio); width = Math.Min (StaticVariables.dpi * 2, screenResX / 2); tabWidth = width - tabbarWidth - margin*2; rowLength = (width - margin * 2 - tabbarWidth) / StaticVariables.tileSize; currentHover = new Point (0, 0); worldSize = world.getSize (); terrainTiles = world.getTileTypes (); loadEntities (); selectedTab = 0; selected = -1; }