Zdobycie kontaktu z światemListener w Box2D

Piszę grę na Mac OS, używając cocos2D i Box2D. Dodałemb2ContactListener podklasa do mojego świata w następujący sposób:

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

Działa to doskonale, ale nie mam pewności co do najlepszego / akceptowanego sposobu dostępu do detektora kontaktów z innych klas, które obecnie nie mają bezpośredniego odniesienia do detektora kontaktów.

Wiem, że mogę przekazać odniesienie do innych klas, które tego potrzebują, ale zastanawiałem się, czy istnieje lepszy sposób. Dokładniej, chociaż nie mogę znaleźć metody, aby to zrobić, czy istnieje jakiś odpowiednik tego:

world->GetContactListener();

w Box2D?

Powodem, dla którego próbuję to zrobić, jest po prostu to, że wolałbym przenieść jakąś logikę gry (tj. Czy ciało jest w stanie przeskoczyć na podstawie informacji od słuchacza kontaktu) do odpowiednich klas, zamiast umieszczać wszystko w głównej rozgrywce klasa.

Dzięki!

questionAnswers(2)

yourAnswerToTheQuestion