3 #include <Engine/RaEngine.hpp>
10 #include <Core/Utils/IndexMap.hpp>
11 #include <Core/Utils/Singleton.hpp>
19 class RA_ENGINE_API EntityManager
26 EntityManager(
const EntityManager& ) =
delete;
27 EntityManager& operator=(
const EntityManager& ) =
delete;
30 virtual ~EntityManager();
38 Entity* createEntity(
const std::string& name =
"" );
45 bool entityExists(
const std::string& name )
const;
51 void removeEntity( Core::Utils::Index idx );
57 void removeEntity( Entity* entity );
64 Entity* getEntity( Core::Utils::Index idx )
const;
72 std::vector<Entity*> getEntities()
const;
81 Entity* getEntity(
const std::string& name )
const;
86 void deleteEntities();
89 Core::Utils::IndexMap<std::unique_ptr<Entity>> m_entities;
90 std::map<std::string, Core::Utils::Index> m_entitiesName;