Tileset.parse constructor
Tileset.parse(
- Parser parser, {
- TsxProvider? tsx,
Implementation
factory Tileset.parse(Parser parser, {TsxProvider? tsx}) {
final backgroundColor = parser.getStringOrNull('backgroundcolor');
final columns = parser.getIntOrNull('columns');
final firstGid = parser.getIntOrNull('firstgid');
final margin = parser.getInt('margin', defaults: 0);
final name = parser.getStringOrNull('name');
final objectAlignment = ObjectAlignment.values.byName(
parser.getString('objectalignment', defaults: 'unspecified'),
);
final source = parser.getStringOrNull('source');
final spacing = parser.getInt('spacing', defaults: 0);
final tileCount = parser.getIntOrNull('tilecount');
final tileWidth = parser.getIntOrNull('tilewidth');
final tileHeight = parser.getIntOrNull('tileheight');
final tiledVersion = parser.getStringOrNull('tiledversion');
final transparentColor = parser.getStringOrNull('transparentcolor');
final type = parser.getTilesetType('type', defaults: TilesetType.tileset);
final version = parser.getString('version', defaults: '1.0');
final image = parser.getSingleChildOrNullAs('image', TiledImage.parse);
final grid = parser.getSingleChildOrNullAs('grid', Grid.parse);
final tileOffset =
parser.getSingleChildOrNullAs('tileoffset', TileOffset.parse);
final properties = parser.getProperties();
final terrains = parser.getChildrenAs('terrains', Terrain.parse);
final tiles = parser.formatSpecificParsing(
(json) => json.getChildrenAs('tiles', Tile.parse),
(xml) => xml.getChildrenAs('tile', Tile.parse),
);
final wangSets = parser.formatSpecificParsing(
(json) => json.getChildrenAs('wangsets', WangSet.parse),
(xml) =>
xml
.getSingleChildOrNull('wangsets')
?.getChildrenAs('wangset', WangSet.parse) ??
[],
);
final result = Tileset(
firstGid: firstGid,
source: source,
name: name,
tileWidth: tileWidth,
tileHeight: tileHeight,
spacing: spacing,
margin: margin,
tileCount: tileCount,
columns: columns,
objectAlignment: objectAlignment,
tiles: tiles,
image: image,
tileOffset: tileOffset,
grid: grid,
properties: properties,
terrains: terrains,
wangSets: wangSets,
version: version,
tiledVersion: tiledVersion,
backgroundColor: backgroundColor,
transparentColor: transparentColor,
type: type,
);
result._checkIfExternalTsx(source, tsx);
return result;
}