Obtener el contactListener del mundo en Box2D

Estoy escribiendo un juego para Mac OS usando cocos2D y Box2D. He añadido unb2ContactListener subclase a mi mundo de la siguiente manera:

contactListener = new ContactListener();
world->SetContactListener(contactListener);

Esto funciona perfectamente, pero no estoy seguro de cuál es la mejor forma de acceder al oyente de contacto de otras clases que actualmente no tienen una referencia directa al oyente de contacto.

Sé que puedo pasar una referencia a otras clases que lo necesitan, pero lo que me preguntaba es si hay una mejor manera. Más específicamente, aunque no puedo encontrar un método para hacer esto, ¿hay algún equivalente de esto?

world->GetContactListener();

en box2d?

La razón por la que estoy tratando de hacer esto es simplemente porque preferiría mover un poco de lógica del juego (es decir, si un cuerpo es capaz de saltar en base a la información del oyente de contacto) a las clases relevantes en lugar de poner todo en el juego principal. clase.

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta