cae  0.0.0
Cross-API graphics engine
Loading...
Searching...
No Matches
AInput.hpp
Go to the documentation of this file.
1///
2/// @file AInput.hpp
3/// @brief This file contains the input abstract class
4/// @namespace cae
5///
6
7#pragma once
8
10
11namespace cae
12{
13
14 ///
15 /// @interface AInput
16 /// @brief Abstract class for inputs
17 /// @namespace cae
18 ///
19 class AInput : public IInput
20 {
21
22 public:
23 ~AInput() override = default;
24
25 const std::unique_ptr<IKeyboard> &getKeyboard() const override { return m_keyboard; }
26 const std::unique_ptr<IMouse> &getMouse() const override { return m_mouse; }
27 const std::vector<std::unique_ptr<IGamepad>> &getGamepads() const override { return m_gamepads; }
28
29 void setGamepads(std::vector<std::unique_ptr<IGamepad>> &gamepads) override
30 {
31 m_gamepads = std::move(gamepads);
32 }
33 void setKeyboard(std::unique_ptr<IKeyboard> &keyboard) override { m_keyboard = std::move(keyboard); }
34 void setMouse(std::unique_ptr<IMouse> &mouse) override { m_mouse = std::move(mouse); }
35
36 private:
37 std::unique_ptr<IKeyboard> m_keyboard;
38 std::unique_ptr<IMouse> m_mouse;
39 std::vector<std::unique_ptr<IGamepad>> m_gamepads;
40 }; // interface AInput
41
42} // namespace cae
This file contains the input interface.
Abstract class for inputs.
Definition AInput.hpp:20
~AInput() override=default
std::vector< std::unique_ptr< IGamepad > > m_gamepads
Definition AInput.hpp:39
void setGamepads(std::vector< std::unique_ptr< IGamepad > > &gamepads) override
Definition AInput.hpp:29
void setMouse(std::unique_ptr< IMouse > &mouse) override
Definition AInput.hpp:34
const std::vector< std::unique_ptr< IGamepad > > & getGamepads() const override
Definition AInput.hpp:27
std::unique_ptr< IMouse > m_mouse
Definition AInput.hpp:38
const std::unique_ptr< IKeyboard > & getKeyboard() const override
Definition AInput.hpp:25
void setKeyboard(std::unique_ptr< IKeyboard > &keyboard) override
Definition AInput.hpp:33
const std::unique_ptr< IMouse > & getMouse() const override
Definition AInput.hpp:26
std::unique_ptr< IKeyboard > m_keyboard
Definition AInput.hpp:37
Interface for inputs.
Definition IInput.hpp:22