close method
Closes an arena. The first member in GestureRecognizerState.possible or GestureRecognizerState.accepted wins; all others are rejected.
Implementation
void close(int arenaKey) {
final arena = _arenas[arenaKey];
if (arena == null) return;
GestureRecognizer? winner;
for (final member in arena.members) {
if (member.state == GestureRecognizerState.possible ||
member.state == GestureRecognizerState.accepted) {
winner = member;
break;
}
}
if (winner != null) {
for (final other in arena.members) {
if (other != winner) {
other.rejectGesture();
}
}
winner.acceptGesture();
} else {
// No possible winners — reject everyone.
for (final member in arena.members) {
member.rejectGesture();
}
}
_arenas.remove(arenaKey);
}