bool updateEmptyPoints(Set<Point> points) { if (points.intersection(walls).isNotEmpty) { return false; } empty.addAll(_baseEmpty); empty.removeAll(points); return true; }