3 #include "Mountain/core.hpp" 7 #include "Mountain/collision/collider.hpp" 18 MOUNTAIN_API
Entity() =
default;
22 MOUNTAIN_API
virtual ~Entity();
24 DEFAULT_COPY_MOVE_OPERATIONS(Entity)
26 MOUNTAIN_API
virtual void Update();
28 MOUNTAIN_API
virtual void Render();
30 MOUNTAIN_API
virtual void RenderDebug();
32 MOUNTAIN_API
void AddComponent(
Component* component);
34 template <Concepts::ComponentT
T,
typename... Args>
35 T* AddComponent(Args&&... args);
37 template <Concepts::ComponentT T>
39 T* GetComponent()
const;
47 MOUNTAIN_API
void RemoveComponent(
Component* component);
49 template <Concepts::ComponentT T>
50 void RemoveComponent();
52 MOUNTAIN_API
const Collider* GetCollider()
const;
54 MOUNTAIN_API
Collider* GetCollider();
64 #include "Mountain/scene/entity.inl" Represents a behavior that can be attached to an Entity.
Defines the Mountain::List class.
A dynamic array implementation. Wrapper around the std::vector class.
Defines the Mountain::Concepts namespace which contains useful concepts used in the engine...
Contains all declarations of the Mountain Framework.