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!