PieceType.fromJson constructor
PieceType.fromJson(
- Map<
String, dynamic> json, { - List<
BishopTypeAdapter> adapters = const [],
Implementation
factory PieceType.fromJson(
Map<String, dynamic> json, {
List<BishopTypeAdapter> adapters = const [],
}) {
if (json.containsKey('betza')) {
return PieceType.fromBetza(
json['betza'],
royal: json['royal'] ?? false,
promoOptions: json.containsKey('promoOptions')
? PiecePromoOptions.fromJson(json['promoOptions'])
: PiecePromoOptions.promoPiece,
enPassantable: json['enPassantable'] ?? false,
noSanSymbol: json['noSanSymbol'] ?? false,
value: json['value'] ?? Bishop.defaultPieceValue,
regionEffects: (json['regionEffects'] as List<dynamic>?)
?.map((e) => RegionEffect.fromJson(e))
.toList() ??
[],
actions: json.containsKey('actions')
? BishopSerialisation.buildMany<Action>(
json['actions'],
adapters: adapters,
)
: const [],
);
}
throw UnimplementedError('Non-betza pieces in json are not supported yet');
}