Toggle navigation
ivorium
iv_components
Example project
GitHub
Main Page
Modules
Classes
Files
File List
File Members
ivorium_systems
InputSystem
Key_InputNode.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
InputEvent.hpp
"
4
#include "
InputNode.hpp
"
5
6
#include "
InputBindingSystem/InputBindingQuery.hpp
"
7
#include "
InputBindingSystem/InputId.hpp
"
8
9
#include <
ivorium_core/ivorium_core.hpp
>
10
11
namespace
iv
12
{
13
18
class
Key_InputNode
:
public
InputNode
,
public
InputEvent
19
{
20
public
:
21
using
InputEvent::instance
;
22
ClientMarker
cm
;
23
24
Key_InputNode
(
Instance
* inst,
InputId
val =
InputId
() );
25
~Key_InputNode
();
26
27
void
status
(
iv::TableDebugView
* view );
28
29
void
input_id
(
InputId
);
30
InputId
input_id
();
31
39
void
fallthrough_enabled
(
bool
);
40
bool
fallthrough_enabled
();
41
42
//------------------
48
void
interruptActivation
();
49
50
protected
:
51
virtual
void
input_process
(
InputRoot
* root,
Input::DeviceKey
key,
bool
& press,
bool
& real,
bool
& offspace )
override
;
52
virtual
bool
input_trigger_process
(
InputRoot
* root,
Input::DeviceKey
key )
override
;
53
54
private
:
55
InputBindingQuery
ibq;
56
InputId
_input_id;
57
58
bool
_fallthrough;
59
std::optional< Input::DeviceKey > _active;
60
};
61
62
}