Вам нужен только один контактный слушатель.
Обратите внимание, что слушатель «инициализирован». Он запускается один раз. Это не предназначено для нескольких случаев. Это потребляет память и вызывает замедление.
Храните все свои элементы в массиве или векторном объекте.
Управление условиями с помощью класса прослушивателя контактов.
Выполните итерацию по объекту, чтобы проверить, сталкиваются ли вещи друг с другом.