diff options
author | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2017-01-25 20:37:39 +0100 |
---|---|---|
committer | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2017-01-25 21:21:19 +0100 |
commit | 9100db7b941348854dafad7860a4e466dba31ae6 (patch) | |
tree | bd10541480320b32cd9c22c36078cdf841d595f7 /main/input_default.cpp | |
parent | ae258e2679bd9deda8b311d030771fab03303833 (diff) | |
download | redot-engine-9100db7b941348854dafad7860a4e466dba31ae6.tar.gz |
Keyboard Input modifiers do not block actions.
This means, if you press "F" while holding "shift" and there is and
action registered for "F" that action should be pressed.
This commit restore this behaviour, lost when implementing
is_action_just_pressed.
If you want "blocking modifiers" you should code it via script.
Fixes 6826
Diffstat (limited to 'main/input_default.cpp')
-rw-r--r-- | main/input_default.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/main/input_default.cpp b/main/input_default.cpp index 82dec86067..0561f2bb34 100644 --- a/main/input_default.cpp +++ b/main/input_default.cpp @@ -381,15 +381,12 @@ void InputDefault::parse_input_event(const InputEvent& p_event) { if (!p_event.is_echo()) { for (const Map<StringName,InputMap::Action>::Element *E=InputMap::get_singleton()->get_action_map().front();E;E=E->next()) { - if (InputMap::get_singleton()->event_is_action(p_event,E->key())) { - - if(is_action_pressed(E->key()) != p_event.is_pressed()) { - Action action; - action.fixed_frame=Engine::get_singleton()->get_fixed_frames(); - action.idle_frame=Engine::get_singleton()->get_idle_frames(); - action.pressed=p_event.is_pressed(); - action_state[E->key()]=action; - } + if (InputMap::get_singleton()->event_is_action(p_event,E->key()) && is_action_pressed(E->key()) != p_event.is_pressed()) { + Action action; + action.fixed_frame=Engine::get_singleton()->get_fixed_frames(); + action.idle_frame=Engine::get_singleton()->get_idle_frames(); + action.pressed=p_event.is_pressed(); + action_state[E->key()]=action; } } } |