#pragma once #include "stdafx.h" #include "Types.h" class IKeyManager; enum class MouseButton; class KeyManager { private: static unique_ptr _keyManager; static MousePosition _mousePosition; static atomic _xMouseMovement; static atomic _yMouseMovement; public: static void RegisterKeyManager(IKeyManager* keyManager); static void RefreshKeyState(); static bool IsKeyPressed(uint32_t keyCode); static bool IsMouseButtonPressed(MouseButton button); static vector GetPressedKeys(); static string GetKeyName(uint32_t keyCode); static uint32_t GetKeyCode(string keyName); static void UpdateDevices(); static void SetMouseMovement(int16_t x, int16_t y); static MouseMovement GetMouseMovement(double mouseSensitivity); static void SetMousePosition(double x, double y); static MousePosition GetMousePosition(); };