#pragma once #include #include enum class InputAction { MOVE_UP, MOVE_DOWN, MOVE_LEFT, MOVE_RIGHT, }; class InputComponent { public: InputComponent() = default; void BindKey(InputAction action, int key); void Update(); void SetActionCallback(InputAction action, std::function callback); private: std::unordered_map keyBindings; std::unordered_map> actionCallbacks; };