Sdk/[Collision|Physics]Component2D: Set internal rigidbody userdata to the entity id

This commit is contained in:
Lynix
2018-02-17 14:22:25 +01:00
parent af75e2cc68
commit 166ecffc32
3 changed files with 5 additions and 1 deletions

View File

@@ -59,6 +59,7 @@ namespace Ndk
Nz::PhysWorld2D& physWorld = entityWorld->GetSystem<PhysicsSystem2D>().GetWorld();
m_staticBody = std::make_unique<Nz::RigidBody2D>(&physWorld, 0.f, m_geom);
m_staticBody->SetUserdata(reinterpret_cast<void*>(static_cast<std::ptrdiff_t>(m_entity->GetId())));
Nz::Matrix4f matrix;
if (m_entity->HasComponent<NodeComponent>())

View File

@@ -8,6 +8,7 @@
#include <NDK/Components/CollisionComponent2D.hpp>
#include <NDK/Components/NodeComponent.hpp>
#include <NDK/Systems/PhysicsSystem2D.hpp>
#include <memory>
namespace Ndk
{
@@ -40,8 +41,9 @@ namespace Ndk
else
matrix.MakeIdentity();
m_object.reset(new Nz::RigidBody2D(&world, 1.f, geom));
m_object = std::make_unique<Nz::RigidBody2D>(&world, 1.f, geom);
m_object->SetPosition(Nz::Vector2f(matrix.GetTranslation()));
m_object->SetUserdata(reinterpret_cast<void*>(static_cast<std::ptrdiff_t>(m_entity->GetId())));
}
/*!