TiledMap.parse constructor
TiledMap.parse(
- Parser parser, {
- List<
TsxProvider> ? tsxList,
Implementation
factory TiledMap.parse(Parser parser, {List<TsxProvider>? tsxList}) {
final backgroundColorHex = parser.getStringOrNull('backgroundcolor');
final backgroundColor = parser.getColorOrNull('backgroundcolor');
final compressionLevel = parser.getInt('compressionlevel', defaults: -1);
final height = parser.getInt('height');
final hexSideLength = parser.getIntOrNull('hexsidelength');
final infinite = parser.getBool('infinite', defaults: false);
final nextLayerId = parser.getIntOrNull('nextlayerid');
final nextObjectId = parser.getIntOrNull('nextobjectid');
final orientation = parser.getMapOrientationOrNull('orientation');
final renderOrder = parser.getRenderOrder(
'renderorder',
defaults: RenderOrder.rightDown,
);
final staggerAxis = parser.getStaggerAxisOrNull('staggeraxis');
final staggerIndex = parser.getStaggerIndexOrNull('staggerindex');
final tiledVersion = parser.getStringOrNull('tiledversion');
final tileHeight = parser.getInt('tileheight');
final tileWidth = parser.getInt('tilewidth');
final type = parser.getTileMapType('type', defaults: TileMapType.map);
final version = parser.getString('version', defaults: '1.0');
final width = parser.getInt('width');
final tilesets = parser.getChildrenAs(
'tileset',
(tilesetData) {
final tilesetSource = tilesetData.getStringOrNull('source');
if (tilesetSource == null || tsxList == null) {
return Tileset.parse(tilesetData);
}
final matchingTsx = tsxList.where(
(tsx) => tsx.filename == tilesetSource,
);
return Tileset.parse(
tilesetData,
tsx: matchingTsx.isNotEmpty ? matchingTsx.first : null,
);
},
);
final layers = Layer.parseLayers(parser);
final properties = parser.getProperties();
final editorSettings = parser.getChildrenAs(
'editorsettings',
EditorSetting.parse,
);
return TiledMap(
type: type,
version: version,
tiledVersion: tiledVersion,
width: width,
height: height,
infinite: infinite,
tileWidth: tileWidth,
tileHeight: tileHeight,
tilesets: tilesets,
layers: layers,
backgroundColorHex: backgroundColorHex,
backgroundColor: backgroundColor,
compressionLevel: compressionLevel,
hexSideLength: hexSideLength,
nextLayerId: nextLayerId,
nextObjectId: nextObjectId,
orientation: orientation,
renderOrder: renderOrder,
staggerAxis: staggerAxis,
staggerIndex: staggerIndex,
editorSettings: editorSettings,
properties: properties,
);
}