build method
Build the widget.
Implementation
@override
Widget build(final BuildContext context) => GameShortcuts(
shortcuts: [
for (final commandList in commands) ...commandList,
...extraShortcuts,
],
autofocus: autofocus,
canRequestFocus: canRequestFocus,
focusNode: focusNode,
child: Material(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
for (final row in commands)
Expanded(
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
for (final command in row)
TouchArea(
description: command.title,
onTouch: (final event) {
switch (event) {
case TouchAreaEvent.touch:
command.onStart?.call(context);
case TouchAreaEvent.release:
command.onStop?.call(context);
}
},
child: command.child,
),
],
),
),
],
),
),
);