#pragma once #include #include #include "GamePad.h" namespace KapitanGame { enum class Controllers : int { Controller1, Controller2, Controller3, Controller4 }; class KInput { std::vector ConnectedControllers; std::vector ControllerInputs; std::vector LastControllerInputs; std::vector KeyboardInputs; std::vector LastKeyboardInputs; int GamepadsCount; bool Initialized; public: KInput(); void Init(); void Free(); void HandleInputPreEvents(); void HandleInputPostEvents(); void HandleEvent(const SDL_Event& event); bool IsControllerButtonPressed(Controllers controllerId, SDL_GameControllerButton button); bool IsControllerButtonHeld(Controllers controllerId, SDL_GameControllerButton button); float GetControllerAxis(Controllers controllerId, SDL_GameControllerAxis axis); bool IsKeyboardButtonHeld(Uint8 scanCode); bool IsKeyboardButtonPressed(Uint8 scanCode); }; }