Obtendo o contato do mundoListener no Box2D

Eu estou escrevendo um jogo para Mac OS usando cocos2D e Box2D. Eu adicionei umb2ContactListener subclasse para o meu mundo da seguinte forma:

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

Isso funciona perfeitamente, mas não tenho certeza da maneira melhor / aceita de acessar o ouvinte de contato de outras classes que atualmente não têm uma referência direta ao ouvinte de contato.

Eu sei que posso passar uma referência para outras classes que precisam, mas o que eu queria saber é se existe uma maneira melhor. Mais especificamente, embora eu não consiga encontrar um método para fazer isso, existe algum equivalente disso:

world->GetContactListener();

no Box2D?

A razão pela qual estou tentando fazer isso é simplesmente porque eu preferiria mover alguma lógica de jogo (ou seja, se um corpo é capaz de pular com base em informações do ouvinte de contato) para as classes relevantes em si, em vez de colocar tudo na jogabilidade principal classe.

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion