Physics2D/Collider2D: Allow to prevent individual colliders properties override

This commit is contained in:
Lynix
2018-08-24 16:30:03 +02:00
parent b9e36f36e2
commit 933cb64488
4 changed files with 34 additions and 3 deletions

View File

@@ -143,15 +143,21 @@ namespace Nz
float ComputeMomentOfInertia(float mass) const override;
inline bool DoesOverrideCollisionProperties() const;
inline const std::vector<Collider2DRef>& GetGeoms() const;
ColliderType2D GetType() const override;
inline void OverridesCollisionProperties(bool shouldOverride);
template<typename... Args> static CompoundCollider2DRef New(Args&&... args);
private:
void CreateShapes(RigidBody2D* body, std::vector<cpShape*>& shapes) const override;
std::vector<cpShape*> GenerateShapes(RigidBody2D* body) const override;
std::vector<Collider2DRef> m_geoms;
bool m_doesOverrideCollisionProperties;
};
class ConvexCollider2D;

View File

@@ -110,11 +110,21 @@ namespace Nz
return object.release();
}
inline bool Nz::CompoundCollider2D::DoesOverrideCollisionProperties() const
{
return m_doesOverrideCollisionProperties;
}
inline const std::vector<Collider2DRef>& CompoundCollider2D::GetGeoms() const
{
return m_geoms;
}
inline void Nz::CompoundCollider2D::OverridesCollisionProperties(bool shouldOverride)
{
m_doesOverrideCollisionProperties = shouldOverride;
}
template<typename... Args>
CompoundCollider2DRef CompoundCollider2D::New(Args&&... args)
{