selectRow method
Selects all available seats in row, up to maxSelection.
Implementation
void selectRow(int row) {
assert(row >= 0 && row < _grid.length, 'Row $row out of range');
bool changed = false;
for (int col = 0; col < _grid[row].length; col++) {
if (_selectedSeats.length >= maxSelection) break;
final seat = SeatPoint(row, col);
if (_grid[row][col].state == SeatState.available &&
!_selectedSeats.contains(seat)) {
_selectedSeats.add(seat);
changed = true;
}
}
if (changed) notifyListeners();
}