Physics2D/RigidBody2D: Fix querying

This commit is contained in:
Lynix 2017-03-02 13:07:02 +01:00
parent a50a822fad
commit 04f7b40150
2 changed files with 6 additions and 1 deletions

View File

@ -41,7 +41,7 @@ namespace Nz
cpSpace* GetHandle() const;
float GetStepSize() const;
bool NearestBodyQuery(const Vector2f& from, float maxDistance, Nz::UInt32 collisionGroup, Nz::UInt32 categoryMask, Nz::UInt32 collisionMask, RigidBody2D** nearestBody);
bool NearestBodyQuery(const Vector2f& from, float maxDistance, Nz::UInt32 collisionGroup, Nz::UInt32 categoryMask, Nz::UInt32 collisionMask, RigidBody2D** nearestBody = nullptr);
bool NearestBodyQuery(const Vector2f& from, float maxDistance, Nz::UInt32 collisionGroup, Nz::UInt32 categoryMask, Nz::UInt32 collisionMask, NearestQueryResult* result);
void RegisterCallbacks(unsigned int collisionId, const Callback& callbacks);

View File

@ -61,6 +61,8 @@ namespace Nz
m_mass(object.m_mass)
{
cpBodySetUserData(m_handle, this);
for (cpShape* shape : m_shapes)
cpShapeSetUserData(shape, this);
object.m_handle = nullptr;
@ -312,6 +314,8 @@ namespace Nz
m_world = object.m_world;
cpBodySetUserData(m_handle, this);
for (cpShape* shape : m_shapes)
cpShapeSetUserData(shape, this);
object.m_handle = nullptr;
@ -324,6 +328,7 @@ namespace Nz
{
m_handle = cpBodyNew(mass, moment);
cpBodySetUserData(m_handle, this);
cpSpaceAddBody(m_world->GetHandle(), m_handle);
}