summaryrefslogtreecommitdiff
path: root/Plugins/MonoGame.Extended/source/MonoGame.Extended.Tiled/Serialization/TiledMapContent.cs
blob: 30ecbfdbc3890760634868b16b0b145c7754eb63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
using System.Collections.Generic;
using System.Xml.Serialization;

namespace MonoGame.Extended.Tiled.Serialization
{
    [XmlRoot(ElementName = "map")]
    public class TiledMapContent
    {
        public TiledMapContent()
        {
            Properties = new List<TiledMapPropertyContent>();
            Tilesets = new List<TiledMapTilesetContent>();
            Layers = new List<TiledMapLayerContent>();
        }

        [XmlIgnore]
        public string Name { get; set; }

        [XmlIgnore]
        public string FilePath { get; set; }

        // Deprecated as of Tiled 1.9.0 (replaced by "class" attribute)
        [XmlAttribute(DataType = "string", AttributeName = "type")]
        public string Type { get; set; }

        [XmlAttribute(DataType = "string", AttributeName = "class")]
        public string Class { get; set; }

        [XmlAttribute(AttributeName = "version")]
        public string Version { get; set; }

        [XmlAttribute(AttributeName = "orientation")]
        public TiledMapOrientationContent Orientation { get; set; }

        [XmlAttribute(AttributeName = "renderorder")]
        public TiledMapTileDrawOrderContent RenderOrder { get; set; }

        [XmlAttribute(AttributeName = "backgroundcolor")]
        public string BackgroundColor { get; set; }

        [XmlAttribute(AttributeName = "width")]
        public int Width { get; set; }

        [XmlAttribute(AttributeName = "height")]
        public int Height { get; set; }

        [XmlAttribute(AttributeName = "tilewidth")]
        public int TileWidth { get; set; }

        [XmlAttribute(AttributeName = "tileheight")]
        public int TileHeight { get; set; }

        [XmlAttribute(AttributeName = "hexsidelength")]
        public int HexSideLength { get; set; }

        [XmlAttribute(AttributeName = "staggeraxis")]
        public TiledMapStaggerAxisContent StaggerAxis { get; set; }

        [XmlAttribute(AttributeName = "staggerindex")]
        public TiledMapStaggerIndexContent StaggerIndex { get; set; }

        [XmlElement(ElementName = "tileset")]
        public List<TiledMapTilesetContent> Tilesets { get; set; }

        [XmlElement(ElementName = "layer", Type = typeof(TiledMapTileLayerContent))]
        [XmlElement(ElementName = "imagelayer", Type = typeof(TiledMapImageLayerContent))]
        [XmlElement(ElementName = "objectgroup", Type = typeof(TiledMapObjectLayerContent))]
        [XmlElement(ElementName = "group", Type = typeof(TiledMapGroupLayerContent))]
        public List<TiledMapLayerContent> Layers { get; set; }

        [XmlArray("properties")]
        [XmlArrayItem("property")]
        public List<TiledMapPropertyContent> Properties { get; set; }
    }
}