#pragma once #include "Common.h" #include "Entity.h" typedef std::vector> EntityVec; typedef std::map EntityMap; class EntityManager { EntityVec m_entities; EntityVec m_entitiesToAdd; EntityMap m_entityMap; size_t m_totalEntities; void removeDeadEntities(EntityVec & vec); public: EntityManager(); void update(); std::shared_ptr addEntity(const std::string & tag); const EntityVec & getEntities(); const EntityVec & getEntities(const std::string & tag); };