#pragma once #include #include #include #include #include "SDL3/SDL_events.h" #include "SDL3/SDL_init.h" typedef std::function EventListener; class EventManager { public: EventManager(); void registerListener(EventListener listener, std::initializer_list eventTypes); SDL_AppResult handleEvent(SDL_Event* const event); private: std::map> eventListeners = std::map>(); };