Bomberman
GamepadComponent.hpp
Go to the documentation of this file.
1 //
2 // Created by Tom Augier on 2021-05-20.
3 // Edited by Benjamin Henry on 2021-05-20.
4 //
5 
6 #pragma once
7 
10 #include "Entity/Entity.hpp"
11 
15 
16 namespace BBM
17 {
19  {
20  private:
22  int _ID;
23  public:
25  Button keySecondary = GAMEPAD_BUTTON_RIGHT_FACE_RIGHT;
27  Button keyBomb = GAMEPAD_BUTTON_RIGHT_FACE_DOWN;
29  Button keyPause = GAMEPAD_BUTTON_MIDDLE;
31  Button keyRight = GAMEPAD_BUTTON_LEFT_FACE_RIGHT;
33  Button keyLeft = GAMEPAD_BUTTON_LEFT_FACE_LEFT;
35  Button keyUp = GAMEPAD_BUTTON_LEFT_FACE_UP;
37  Button keyDown = GAMEPAD_BUTTON_LEFT_FACE_DOWN;
38 
39  Axis LeftStickX = GAMEPAD_AXIS_LEFT_X;
40  Axis LeftStickY = GAMEPAD_AXIS_LEFT_Y;
41  Axis RightStickX = GAMEPAD_AXIS_RIGHT_X;
42  Axis RightStickY = GAMEPAD_AXIS_RIGHT_Y;
43 
45  WAL::Component *clone(WAL::Entity &entity) const override;
46 
47  void onStart() override;
48 
50  explicit GamepadComponent(WAL::Entity &entity);
51 
53  GamepadComponent(WAL::Entity &entity, int id);
54 
56  GamepadComponent(const GamepadComponent &) = default;
57 
59  ~GamepadComponent() override = default;
60 
62  GamepadComponent &operator=(const GamepadComponent &) = delete;
63 
65  GamepadComponent &setID(int ID);
66 
68  int getID() const;
69  };
70 }
BBM::GamepadComponent::GamepadComponent
GamepadComponent(WAL::Entity &entity)
Create a new gampad component using default keys.
Definition: GamepadComponent.cpp:11
BBM::GamepadComponent::LeftStickY
Axis LeftStickY
Definition: GamepadComponent.hpp:40
BBM::GamepadComponent::LeftStickX
Axis LeftStickX
Definition: GamepadComponent.hpp:39
Axis
RAY::Controller::GamePad::Axis Axis
Definition: GamepadComponent.hpp:13
BBM::GamepadComponent::onStart
void onStart() override
The entity or this component has just been enabled.
Definition: GamepadComponent.cpp:35
WAL::Component
Represent a single component of WAL.
Definition: Component.hpp:17
Button
RAY::Controller::GamePad::Button Button
Definition: GamepadComponent.hpp:12
BBM
Definition: AnimationsComponent.cpp:9
Entity.hpp
BBM::GamepadComponent::keyLeft
Button keyLeft
move left key
Definition: GamepadComponent.hpp:33
WAL::Entity
An entity of the WAL's ECS.
Definition: Entity.hpp:20
BBM::GamepadComponent::RightStickY
Axis RightStickY
Definition: GamepadComponent.hpp:42
Gamepad.hpp
BBM::GamepadComponent::keyRight
Button keyRight
move right key
Definition: GamepadComponent.hpp:31
Component.hpp
BBM::GamepadComponent::getID
int getID() const
Get the ID of the Gamepad the events must be fetch from;.
Definition: GamepadComponent.cpp:30
BBM::GamepadComponent::keyPause
Button keyPause
pause key
Definition: GamepadComponent.hpp:29
BBM::GamepadComponent::operator=
GamepadComponent & operator=(const GamepadComponent &)=delete
A Gamepad component can't be assigned.
BBM::GamepadComponent::keyBomb
Button keyBomb
bomb key
Definition: GamepadComponent.hpp:27
BBM::GamepadComponent::RightStickX
Axis RightStickX
Definition: GamepadComponent.hpp:41
RAY::Controller::GamePad
Entity representing a gamepad controller.
Definition: Gamepad.hpp:17
RAY::Controller::GamePad::Button
::GamepadButton Button
Definition: Gamepad.hpp:19
BBM::GamepadComponent::clone
WAL::Component * clone(WAL::Entity &entity) const override
Clone a component for another or the same entity.
Definition: GamepadComponent.cpp:19
RAY::Controller::GamePad::Axis
::GamepadAxis Axis
Definition: Gamepad.hpp:20
BBM::GamepadComponent
Definition: GamepadComponent.hpp:18
BBM::GamepadComponent::keySecondary
Button keySecondary
jump key
Definition: GamepadComponent.hpp:25
BBM::GamepadComponent::_ID
int _ID
Identifier of the gamepad, used to fetch events.
Definition: GamepadComponent.hpp:22
BBM::GamepadComponent::keyDown
Button keyDown
move down key
Definition: GamepadComponent.hpp:37
BBM::GamepadComponent::~GamepadComponent
~GamepadComponent() override=default
default destructor
BBM::GamepadComponent::keyUp
Button keyUp
move up key
Definition: GamepadComponent.hpp:35
BBM::GamepadComponent::setID
GamepadComponent & setID(int ID)
Set the ID of the Gamepad the events must be fetch from;.
Definition: GamepadComponent.cpp:24