diff --git a/packages/tiled/lib/src/layer.dart b/packages/tiled/lib/src/layer.dart index a0e6238..0b6f1a6 100644 --- a/packages/tiled/lib/src/layer.dart +++ b/packages/tiled/lib/src/layer.dart @@ -194,7 +194,12 @@ abstract class Layer { parser.getString('color', defaults: ObjectGroup.defaultColorHex); final color = parser.getColor('color', defaults: ObjectGroup.defaultColor); - final objects = parser.getChildrenAs('object', TiledObject.parse); + + final objects = parser.formatSpecificParsing( + (json) => json.getChildrenAs('objects', TiledObject.parse), + (xml) => xml.getChildrenAs('object', TiledObject.parse), + ); + layer = ObjectGroup( id: id, name: name, diff --git a/packages/tiled/lib/src/objects/tiled_object.dart b/packages/tiled/lib/src/objects/tiled_object.dart index 4f7ab95..d767b82 100644 --- a/packages/tiled/lib/src/objects/tiled_object.dart +++ b/packages/tiled/lib/src/objects/tiled_object.dart @@ -118,11 +118,11 @@ class TiledObject { ); final ellipse = parser.formatSpecificParsing( - (json) => json.getBool('ellipse'), + (json) => json.getBool('ellipse', defaults: false), (xml) => xml.getChildren('ellipse').isNotEmpty, ); final point = parser.formatSpecificParsing( - (json) => json.getBool('point'), + (json) => json.getBool('point', defaults: false), (xml) => xml.getChildren('point').isNotEmpty, ); final text = parser.getSingleChildOrNullAs('text', Text.parse);