Mountain  1.0.0
Simple C++ 2D Game Framework
collider_list.hpp
1 #pragma once
2 
3 #include "Mountain/collision/collider.hpp"
4 
6 
7 namespace Mountain
8 {
9 
10 class ColliderList : public Collider
11 {
12 public:
13  List<Collider*> list;
14 
15  MOUNTAIN_API ColliderList();
16  MOUNTAIN_API ColliderList(std::initializer_list<Collider*> elements);
17  MOUNTAIN_API ColliderList(const Vector2& position, std::initializer_list<Collider*> elements);
18 
19  MOUNTAIN_API void RenderDebug(const Color& color) const override;
20 
21  [[nodiscard]]
22  MOUNTAIN_API bool CheckCollision(Vector2 point) const override;
23  [[nodiscard]]
24  MOUNTAIN_API bool CheckCollision(const Hitbox& hitbox) const override;
25  [[nodiscard]]
26  MOUNTAIN_API bool CheckCollision(const Circle& circle) const override;
27  [[nodiscard]]
28  MOUNTAIN_API bool CheckCollision(const Grid& grid) const override;
29  [[nodiscard]]
30  MOUNTAIN_API bool CheckCollision(const ColliderList& otherList) const override;
31 
32  [[nodiscard]]
33  MOUNTAIN_API float_t Left() const override;
34  [[nodiscard]]
35  MOUNTAIN_API float_t Right() const override;
36  [[nodiscard]]
37  MOUNTAIN_API float_t Top() const override;
38  [[nodiscard]]
39  MOUNTAIN_API float_t Bottom() const override;
40 
41  [[nodiscard]]
42  MOUNTAIN_API float AbsoluteLeft() const override;
43  [[nodiscard]]
44  MOUNTAIN_API float AbsoluteRight() const override;
45  [[nodiscard]]
46  MOUNTAIN_API float AbsoluteTop() const override;
47  [[nodiscard]]
48  MOUNTAIN_API float AbsoluteBottom() const override;
49  [[nodiscard]]
50  MOUNTAIN_API Vector2 AbsoluteCenter() const override;
51 };
52 
53 }
Defines the Mountain::List class.
A dynamic array implementation. Wrapper around the std::vector class.
Definition: list.hpp:24
The Color struct represents a color in RGBA color space.
Definition: color.hpp:26
Contains all declarations of the Mountain Framework.
Definition: audio.hpp:22