Tile.parse constructor
Tile.parse(
- Parser parser
Implementation
Tile.parse(Parser parser)
: this(
localId: parser.getInt('id'),
/// Tiled 1.9 "type" has been moved to "class"
type:
parser.getStringOrNull('class') ?? parser.getStringOrNull('type'),
probability: parser.getDouble('probability', defaults: 0),
terrain: parser
.getStringOrNull('terrain')
?.split(',')
.map((str) => str.isEmpty ? null : int.parse(str))
.toList() ??
[],
image: parser.getSingleChildOrNullAs('image', TiledImage.parse),
imageRect: Rect.fromLTWH(
parser.getDoubleOrNull('x') ?? 0,
parser.getDoubleOrNull('y') ?? 0,
parser.getDoubleOrNull('width') ?? 0,
parser.getDoubleOrNull('height') ?? 0,
),
objectGroup:
parser.getSingleChildOrNullAs('objectgroup', Layer.parse),
animation: parser.formatSpecificParsing(
(json) => json.getChildrenAs('animation', Frame.parse),
(xml) =>
xml
.getSingleChildOrNull('animation')
?.getChildrenAs('frame', Frame.parse) ??
[],
),
properties: parser.getProperties(),
);