#ifndef EVENT_HANDLER_BASE_H #define EVENT_HANDLER_BASE_H #include class Event; class EventManager; class EventHandlerBase { private: static unsigned int s_nextId; public: EventHandlerBase(); virtual ~EventHandlerBase() = default; virtual void handleBaseEvent(std::shared_ptr event) = 0; private: const unsigned int m_id; friend EventManager; }; #endif // EVENT_HANDLER_BASE_H