Unravel Engine C++ Reference
Loading...
Searching...
No Matches
gamepad_action_map.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
action_id.hpp
"
4
#include "
axis_range.hpp
"
5
#include "
gamepad.hpp
"
6
#include "
gamepad_axis.hpp
"
7
#include "
gamepad_button.hpp
"
8
#include "
input_type.hpp
"
9
#include <map>
10
#include <vector>
11
12
namespace
input
13
{
14
class
gamepad_action_map
15
{
16
public
:
17
struct
gamepad_entry
18
{
19
input_type
type
{};
20
axis_range
range
{};
21
uint32_t
value
{};
22
float
min_analog_value
{};
23
float
max_analog_value
{};
24
25
friend
auto
operator==
(
const
gamepad_entry
& lhs,
const
gamepad_entry
& rhs) ->
bool
=
default
;
26
};
27
28
std::map<action_id_t, std::vector<gamepad_entry>>
entries_by_action_id_
;
29
30
auto
get_analog_value
(
const
action_id_t
& action,
const
gamepad
& device)
const
-> float;
31
auto
get_digital_value
(
const
action_id_t
& action,
const
gamepad
& device)
const
-> bool;
32
auto
is_pressed
(
const
action_id_t
& action,
const
gamepad
& device)
const
-> bool;
33
auto
is_released
(
const
action_id_t
& action,
const
gamepad
& device)
const
-> bool;
34
auto
is_down
(
const
action_id_t
& action,
const
gamepad
& device)
const
-> bool;
35
36
37
void
map
(
const
action_id_t
& action,
38
gamepad_axis
axis
,
39
axis_range
range
=
axis_range::full
,
40
float
min_analog_value = -1.0f,
41
float
max_analog_value = 1.0f);
42
void
map
(
const
action_id_t
& action,
gamepad_button
button
);
43
44
friend
auto
operator==
(
const
gamepad_action_map
& lhs,
const
gamepad_action_map
& rhs) ->
bool
=
default
;
45
};
46
}
// namespace InputLib
action_id.hpp
axis_range.hpp
input::gamepad_action_map
Definition
gamepad_action_map.hpp:15
input::gamepad_action_map::get_digital_value
auto get_digital_value(const action_id_t &action, const gamepad &device) const -> bool
Definition
gamepad_action_map.cpp:86
input::gamepad_action_map::is_down
auto is_down(const action_id_t &action, const gamepad &device) const -> bool
Definition
gamepad_action_map.cpp:204
input::gamepad_action_map::is_released
auto is_released(const action_id_t &action, const gamepad &device) const -> bool
Definition
gamepad_action_map.cpp:169
input::gamepad_action_map::is_pressed
auto is_pressed(const action_id_t &action, const gamepad &device) const -> bool
Definition
gamepad_action_map.cpp:134
input::gamepad_action_map::entries_by_action_id_
std::map< action_id_t, std::vector< gamepad_entry > > entries_by_action_id_
Definition
gamepad_action_map.hpp:28
input::gamepad_action_map::get_analog_value
auto get_analog_value(const action_id_t &action, const gamepad &device) const -> float
Definition
gamepad_action_map.cpp:38
input::gamepad_action_map::map
void map(const action_id_t &action, gamepad_axis axis, axis_range range=axis_range::full, float min_analog_value=-1.0f, float max_analog_value=1.0f)
Definition
gamepad_action_map.cpp:241
input::gamepad_action_map::operator==
friend auto operator==(const gamepad_action_map &lhs, const gamepad_action_map &rhs) -> bool=default
input::gamepad
Definition
gamepad.hpp:9
gamepad.hpp
gamepad_axis.hpp
gamepad_button.hpp
input_type.hpp
input
Definition
action_id.hpp:5
input::axis_range
axis_range
Definition
axis_range.hpp:6
input::axis_range::full
@ full
input::gamepad_button
gamepad_button
Definition
gamepad_button.hpp:6
input::input_type
input_type
Definition
input_type.hpp:7
input::input_type::axis
@ axis
input::input_type::button
@ button
input::gamepad_axis
gamepad_axis
Definition
gamepad_axis.hpp:6
input::action_id_t
std::string action_id_t
Definition
action_id.hpp:6
input::gamepad_action_map::gamepad_entry
Definition
gamepad_action_map.hpp:18
input::gamepad_action_map::gamepad_entry::type
input_type type
Definition
gamepad_action_map.hpp:19
input::gamepad_action_map::gamepad_entry::max_analog_value
float max_analog_value
Definition
gamepad_action_map.hpp:23
input::gamepad_action_map::gamepad_entry::value
uint32_t value
Definition
gamepad_action_map.hpp:21
input::gamepad_action_map::gamepad_entry::operator==
friend auto operator==(const gamepad_entry &lhs, const gamepad_entry &rhs) -> bool=default
input::gamepad_action_map::gamepad_entry::min_analog_value
float min_analog_value
Definition
gamepad_action_map.hpp:22
range
Definition
basetypes.hpp:10
UnravelEngine
UnravelEngine
engine
engine
input
action_map
gamepad_action_map.hpp
Generated by
1.12.0