build method
Build the widget.
Implementation
@override
Widget build(final BuildContext context) => GameShortcuts(
shortcuts: areaShortcuts.entries.map((final entry) {
final shortcut = entry.key;
final point = entry.value;
return GameShortcut(
title: areaDescriptions[point] ?? '${point.x}, ${point.y}',
shortcut: shortcut,
onStart: (final innerContext) =>
onTouch(point, TouchAreaEvent.touch),
onStop: (final innerContext) =>
onTouch(point, TouchAreaEvent.release),
);
}).toList(),
child: PopScope(
canPop: canPop,
child: Material(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
for (var y = 0; y < rows; y++)
Expanded(
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
for (var x = 0; x < columns; x++)
TouchArea(
description:
areaDescriptions[Point(x, y)] ?? '$x, $y',
onTouch: (final event) {
final point = Point(x, y);
onTouch(point, event);
},
child: childBuilder?.call(context, Point(x, y)),
),
],
),
),
],
),
),
),
);