R-TYPE
EntityManager.hpp
Go to the documentation of this file.
1 /*
2 ** EPITECH PROJECT, 2022
3 ** r-type
4 ** File description:
5 ** EntityManager
6 */
7 
8 #ifndef ENTITYMANAGER_HPP_
9 #define ENTITYMANAGER_HPP_
10 
11 #include "Entity.hpp"
12 #include <map>
13 #include <set>
14 #include <deque>
15 
16 namespace ECS {
18 public:
19  EntityManager() = default;
20  ~EntityManager() = default;
21 
23  void destroyEntity(Entity e);
24 
25  std::deque<Entity>& getEntities();
26  std::deque<Entity> getEntityByType(EntityType type);
27  Entity getEntityById(std::size_t id);
28 
29 private:
30  std::deque<Entity> _entities;
31 };
32 } // namespace ECS
33 
34 #endif /* !ENTITYMANAGER_HPP_ */
Definition: EntityManager.hpp:17
EntityManager()=default
Entity getEntityById(std::size_t id)
Definition: EntityManager.cpp:58
std::deque< Entity > getEntityByType(EntityType type)
Definition: EntityManager.cpp:46
Entity createEntity(EntityType t)
Definition: EntityManager.cpp:18
std::deque< Entity > & getEntities()
Definition: EntityManager.cpp:41
~EntityManager()=default
void destroyEntity(Entity e)
Definition: EntityManager.cpp:29
Definition: Entity.hpp:30
Definition: ComponentManager.hpp:14
EntityType
Definition: Entity.hpp:17