diff options
Diffstat (limited to 'Runtime/Physics2D/SpriteCollider2D.h')
-rw-r--r-- | Runtime/Physics2D/SpriteCollider2D.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Runtime/Physics2D/SpriteCollider2D.h b/Runtime/Physics2D/SpriteCollider2D.h new file mode 100644 index 0000000..948b296 --- /dev/null +++ b/Runtime/Physics2D/SpriteCollider2D.h @@ -0,0 +1,37 @@ +#pragma once + +#if (ENABLE_2D_PHYSICS || DOXYGEN) && ENABLE_SPRITECOLLIDER + +#include "Runtime/Math/Vector2.h" +#include "Runtime/Utilities/dynamic_array.h" +#include "Runtime/Graphics/SpriteFrame.h" +#include "Runtime/Physics2D/PolygonColliderBase2D.h" + +class Sprite; + + +// -------------------------------------------------------------------------- + + +class SpriteCollider2D : public PolygonColliderBase2D +{ +public: + REGISTER_DERIVED_CLASS (SpriteCollider2D, PolygonColliderBase2D) + DECLARE_OBJECT_SERIALIZE (SpriteCollider2D) + + SpriteCollider2D (MemLabelId label, ObjectCreationMode mode); + static void InitializeClass(); + + virtual const Polygon2D& GetPoly() const; + + virtual void Reset (); + virtual void SmartReset (); + + PPtr<Sprite> GetSprite() const { return m_Sprite; } + void SetSprite(PPtr<Sprite> sprite); + +private: + PPtr<Sprite> m_Sprite; +}; + +#endif |