From a924ed32df63bdf2abbcd0975ea9d6a366331682 Mon Sep 17 00:00:00 2001 From: "arthur.jamet" Date: Wed, 19 May 2021 09:08:12 +0200 Subject: [PATCH] gamepad --- lib/Ray/include/Controllers/Gamepad.hpp | 6 +--- lib/Ray/include/Controllers/Keyboard.hpp | 2 +- lib/Ray/include/Controllers/Mouse.hpp | 2 +- lib/Ray/src/Controllers/Gamepad.cpp | 44 ++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 lib/Ray/src/Controllers/Gamepad.cpp diff --git a/lib/Ray/include/Controllers/Gamepad.hpp b/lib/Ray/include/Controllers/Gamepad.hpp index b250d5a3..afb5c747 100644 --- a/lib/Ray/include/Controllers/Gamepad.hpp +++ b/lib/Ray/include/Controllers/Gamepad.hpp @@ -11,7 +11,7 @@ #include #include -namespace RAY { +namespace RAY::Controller { //! @brief Entity representing a gamepad controller class GamePad { @@ -53,10 +53,6 @@ namespace RAY { //! @brief Sets gamepad's id void setID(int id); - - //! @brief Fetch currently pressed buttons - //! @return Returns a vector containing keycode of currently pressed buttons - std::vector getPressedButtons(void); private: //! @brief The id of the controller, used to fetch buttons' states diff --git a/lib/Ray/include/Controllers/Keyboard.hpp b/lib/Ray/include/Controllers/Keyboard.hpp index 39d7b031..65e71127 100644 --- a/lib/Ray/include/Controllers/Keyboard.hpp +++ b/lib/Ray/include/Controllers/Keyboard.hpp @@ -12,7 +12,7 @@ #include #include -namespace RAY { +namespace RAY::Controller { class Keyboard { public: typedef ::KeyboardKey Key; diff --git a/lib/Ray/include/Controllers/Mouse.hpp b/lib/Ray/include/Controllers/Mouse.hpp index 9bec801c..f7fcf9c9 100644 --- a/lib/Ray/include/Controllers/Mouse.hpp +++ b/lib/Ray/include/Controllers/Mouse.hpp @@ -12,7 +12,7 @@ #include #include -namespace RAY { +namespace RAY::Controller { class Mouse { public: typedef ::MouseButton Button; diff --git a/lib/Ray/src/Controllers/Gamepad.cpp b/lib/Ray/src/Controllers/Gamepad.cpp new file mode 100644 index 00000000..09f1e717 --- /dev/null +++ b/lib/Ray/src/Controllers/Gamepad.cpp @@ -0,0 +1,44 @@ +/* +** EPITECH PROJECT, 2021 +** Bomberman +** File description: +** Gamepad +*/ + +#include "Controllers/Gamepad.hpp" + +RAY::Controller::GamePad::GamePad(int id): + _id(id) +{ +} + + +bool RAY::Controller::GamePad::isPressed(RAY::Controller::GamePad::Button button) +{ + return IsGamepadButtonPressed(this->_id, button); +} + +bool RAY::Controller::GamePad::isDown(RAY::Controller::GamePad::Button button) +{ + return IsGamepadButtonDown(this->_id, button); +} + +bool RAY::Controller::GamePad::isReleased(RAY::Controller::GamePad::Button button) +{ + return IsGamepadButtonReleased(this->_id, button); +} + +bool RAY::Controller::GamePad::isUp(RAY::Controller::GamePad::Button button) +{ + return IsGamepadButtonUp(this->_id, button); +} + +bool RAY::Controller::GamePad::isAvailable(RAY::Controller::GamePad::Button button) +{ + return IsGamepadAvailable(this->_id); +} + +void RAY::Controller::GamePad::setID(int id) +{ + this->_id = id; +}