3 #include "Mountain/core.hpp" 11 enum class ColliderType : uint8_t
32 const Vector2* basePosition =
nullptr;
34 explicit Collider(ColliderType type);
40 DEFAULT_COPY_MOVE_OPERATIONS(
Collider)
42 virtual void RenderDebug(
const Color& color)
const = 0;
45 virtual Vector2 GetActualPosition()
const;
48 bool_t CheckCollision(
const Entity& e)
const;
50 bool_t CheckCollision(
const Collider& collider)
const;
52 virtual bool_t CheckCollision(
Vector2 point)
const = 0;
54 virtual bool_t CheckCollision(
const Hitbox& hitbox)
const = 0;
56 virtual bool_t CheckCollision(
const Circle& circle)
const = 0;
58 virtual bool_t CheckCollision(
const Grid& grid)
const = 0;
60 virtual bool_t CheckCollision(
const ColliderList& list)
const = 0;
63 virtual float_t Left()
const = 0;
65 virtual float_t Right()
const = 0;
67 virtual float_t Top()
const = 0;
69 virtual float_t Bottom()
const = 0;
73 virtual Vector2 TopLeft()
const;
75 virtual Vector2 TopRight()
const;
77 virtual Vector2 BottomLeft()
const;
79 virtual Vector2 BottomRight()
const;
82 virtual float_t AbsoluteLeft()
const = 0;
84 virtual float_t AbsoluteRight()
const = 0;
86 virtual float_t AbsoluteTop()
const = 0;
88 virtual float_t AbsoluteBottom()
const = 0;
90 virtual Vector2 AbsoluteCenter()
const;
92 virtual Vector2 AbsoluteTopLeft()
const;
94 virtual Vector2 AbsoluteTopRight()
const;
96 virtual Vector2 AbsoluteBottomLeft()
const;
98 virtual Vector2 AbsoluteBottomRight()
const;
101 virtual float_t Width()
const;
103 virtual float_t Height()
const;
Defines multiple color structs.
The Color struct represents a color in RGBA color space.
Contains all declarations of the Mountain Framework.