Esempio n. 1
0
        public void Save(string path)
        {
            if (FilePath == null)
            {
                FilePath = FilePath.FromAbsolute(path, Directory.GetParent(path).FullName);
            }
            else
            {
                FilePath = FilePath.FromAbsolute(path, FilePath.BasePath);
            }

            XmlTextWriter writer = new XmlTextWriter(FilePath.Absolute, null);

            writer.Formatting  = Formatting.Indented;
            writer.Indentation = 1;
            writer.IndentChar  = '\t';

            writer.WriteStartElement("Tileset");

            if (SheetPath != null)
            {
                writer.WriteAttributeString("tilesheet", SheetPath.Relative);
            }

            writer.WriteAttributeString("tilesize", TileSize.ToString());

            writer.WriteStartElement("TileProperties");
            foreach (TileProperties properties in this.properties.Values)
            {
                if (properties.Name == "Default" && properties == TileProperties.Default)
                {
                    continue;
                }
                properties.Save(writer);
            }
            writer.WriteEndElement();

            foreach (Tile tile in this)
            {
                writer.WriteStartElement("Tile");
                writer.WriteAttributeString("id", tile.Id.ToString());
                writer.WriteAttributeString("name", tile.Name);
                writer.WriteAttributeString("properties", tile.Properties.Name);

                tile.Sprite.WriteTo(writer);

                writer.WriteEndElement();   // end Tile
            }
            writer.WriteEndElement();

            writer.Close();
        }
Esempio n. 2
0
 public void ChangeSheetPath(string path)
 {
     SheetPath = FilePath.FromAbsolute(path, FilePath.BasePath);
 }