#ifndef ENTITYMANAGER #define ENTITYMANAGER #include #include #include "camera.h" #include "entity.h" typedef void CollisionUpdateEvent(Entity* entityA, Entity* entityB); class EntityManager { public: EntityManager(); void SetCollisionMethod(CollisionUpdateEvent collisionsEvent); void AddEntity(std::string name, Entity *entity); Entity* Get(std::string name); void Update(); void Render(sf::RenderWindow *window, Camera *camera); ~EntityManager(); private: std::unordered_map entities; CollisionUpdateEvent* collisionsEvent; }; #endif // ENTITYMANAGER