diff --git a/src/cs/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapProcessor.cs b/src/cs/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapProcessor.cs
index 93e5b9ac..da130a4c 100644
--- a/src/cs/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapProcessor.cs
+++ b/src/cs/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapProcessor.cs
@@ -69,6 +69,9 @@ namespace MonoGame.Extended.Content.Pipeline.Tiled
if (string.IsNullOrWhiteSpace(obj.Type) && !string.IsNullOrWhiteSpace(template.Object.Type))
obj.Type = template.Object.Type;
+
+ if (string.IsNullOrWhiteSpace(obj.Class) && !string.IsNullOrWhiteSpace(template.Object.Class))
+ obj.Class = template.Object.Class;
}
}
}
diff --git a/src/cs/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapTilesetWriter.cs b/src/cs/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapTilesetWriter.cs
index f0b0e9ca..19c52740 100644
--- a/src/cs/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapTilesetWriter.cs
+++ b/src/cs/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapTilesetWriter.cs
@@ -74,7 +74,7 @@ namespace MonoGame.Extended.Content.Pipeline.Tiled
writer.Write(@object.Identifier);
writer.Write(@object.Name ?? string.Empty);
- writer.Write(@object.Type ?? string.Empty);
+ writer.Write(@object.Class ?? @object.Type ?? string.Empty);
writer.Write(@object.X);
writer.Write(@object.Y);
writer.Write(@object.Width);
diff --git a/src/cs/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapWriter.cs b/src/cs/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapWriter.cs
index d4966fb1..2c8eab1a 100644
--- a/src/cs/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapWriter.cs
+++ b/src/cs/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapWriter.cs
@@ -152,7 +152,7 @@ namespace MonoGame.Extended.Content.Pipeline.Tiled
writer.Write(@object.Identifier);
writer.Write(@object.Name ?? string.Empty);
- writer.Write(@object.Type ?? string.Empty);
+ writer.Write(@object.Class ?? @object.Type ?? string.Empty);
writer.Write(@object.X);
writer.Write(@object.Y);
writer.Write(@object.Width);
diff --git a/src/cs/MonoGame.Extended.Tiled/Serialization/TiledMapObjectContent.cs b/src/cs/MonoGame.Extended.Tiled/Serialization/TiledMapObjectContent.cs
index ce47d87d..76e2ba2c 100644
--- a/src/cs/MonoGame.Extended.Tiled/Serialization/TiledMapObjectContent.cs
+++ b/src/cs/MonoGame.Extended.Tiled/Serialization/TiledMapObjectContent.cs
@@ -29,9 +29,13 @@ namespace MonoGame.Extended.Tiled.Serialization
[XmlAttribute(DataType = "string", AttributeName = "name")]
public string Name { 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(DataType = "float", AttributeName = "x")]
public float X { get => _x ?? 0; set => _x = value; }
diff --git a/src/cs/Tests/MonoGame.Extended.Content.Pipeline.Tests.Tiled/TestData/test-object-layer.tmx b/src/cs/Tests/MonoGame.Extended.Content.Pipeline.Tests.Tiled/TestData/test-object-layer.tmx
index 2b53c6d8..dcdbee90 100644
--- a/src/cs/Tests/MonoGame.Extended.Content.Pipeline.Tests.Tiled/TestData/test-object-layer.tmx
+++ b/src/cs/Tests/MonoGame.Extended.Content.Pipeline.Tests.Tiled/TestData/test-object-layer.tmx
@@ -7,7 +7,7 @@
-
+