AABBSightQuery.cpp 766 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "AABBSightQuery.h"
  2. AABBSightQuery::AABBSightQuery()
  3. {
  4. // go
  5. }
  6. AABBSightQuery::~AABBSightQuery()
  7. {
  8. // go
  9. }
  10. // Manimulation de la liste d'entités
  11. void AABBSightQuery::clearData()
  12. {
  13. m_data.clear();
  14. }
  15. bool AABBSightQuery::ReportFixture( b2Fixture* fixture )
  16. {
  17. b2Body* body( fixture->GetBody() );
  18. b2Vec2 pos( body->GetPosition() );
  19. Acteur* myActor( (Acteur*)body->GetUserData().pointer );
  20. if ( myActor->idx == TIR )
  21. {
  22. m_data.push_back({ pos.x, pos.y, DET_TIR, 42 });
  23. }
  24. else
  25. {
  26. m_data.push_back({ pos.x, pos.y, DET_TANK, myActor->idx });
  27. }
  28. return true;
  29. }
  30. // Méthode pour utiliser le réseau
  31. void* AABBSightQuery::getData()
  32. {
  33. return m_data.data();
  34. }
  35. unsigned int AABBSightQuery::getSize()
  36. {
  37. return m_data.size() * sizeof( Entity );
  38. }