selectSeats method

void selectSeats(
  1. List<SeatPoint> seats
)

Selects a list of seats by coordinate, skipping non-available ones.

Implementation

void selectSeats(List<SeatPoint> seats) {
  bool changed = false;
  for (final seat in seats) {
    if (_selectedSeats.length >= maxSelection) break;
    if (_grid[seat.row][seat.col].state == SeatState.available &&
        !_selectedSeats.contains(seat)) {
      _selectedSeats.add(seat);
      changed = true;
    }
  }
  if (changed) notifyListeners();
}