Physics2D: Handle kinematic objects properly

This commit is contained in:
Jérôme Leclercq
2017-09-07 16:16:11 +02:00
parent 305a72a7d2
commit 3153af485c
4 changed files with 46 additions and 39 deletions

View File

@@ -44,13 +44,14 @@ namespace Nz
const Collider2DRef& GetGeom() const;
cpBody* GetHandle() const;
float GetMass() const;
float GetMomentOfInertia() const;
Vector2f GetPosition() const;
float GetRotation() const;
void* GetUserdata() const;
Vector2f GetVelocity() const;
PhysWorld2D* GetWorld() const;
bool IsMoveable() const;
bool IsKinematic() const;
bool IsSleeping() const;
void SetAngularVelocity(float angularVelocity);
@@ -70,7 +71,8 @@ namespace Nz
NazaraSignal(OnRigidBody2DRelease, RigidBody2D* /*rigidBody*/);
private:
void Create(float mass = 1.f, float moment = 1.f);
void CopyBodyData(cpBody* body);
cpBody* Create(float mass = 1.f, float moment = 1.f);
void Destroy();
std::vector<cpShape*> m_shapes;