isEquivalentTo method
- HandInterface other
override
Implementation
@override
bool isEquivalentTo(HandInterface other) {
if (other is! Hand) return false;
if (_cards.length != other.length) return false;
if (deck.master.dupsAllowed) {
return _cards.isEquivalentTo(other._cards);
} else {
int mask1 = 0, mask2 = 0;
for (int i = 0; i < _cards.length; i += 1) {
mask1 |= (1 << _cards.cardAt(i)!.index);
mask2 |= (1 << other.cardAt(i)!.index);
}
return mask1 == mask2;
}
}