1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-17 14:11:06 +00:00

Add Input.is_anything_pressed method

This commit is contained in:
Andrii Doroshenko (Xrayez)
2020-03-27 02:56:29 +02:00
parent 8fc0dd9997
commit 5d17fe7d0f
3 changed files with 21 additions and 0 deletions

View File

@@ -90,6 +90,7 @@ Input::MouseMode Input::get_mouse_mode() const {
}
void Input::_bind_methods() {
ClassDB::bind_method(D_METHOD("is_anything_pressed"), &Input::is_anything_pressed);
ClassDB::bind_method(D_METHOD("is_key_pressed", "keycode"), &Input::is_key_pressed);
ClassDB::bind_method(D_METHOD("is_physical_key_pressed", "keycode"), &Input::is_physical_key_pressed);
ClassDB::bind_method(D_METHOD("is_mouse_button_pressed", "button"), &Input::is_mouse_button_pressed);
@@ -218,6 +219,19 @@ Input::VelocityTrack::VelocityTrack() {
reset();
}
bool Input::is_anything_pressed() const {
_THREAD_SAFE_METHOD_
for (Map<StringName, Input::Action>::Element *E = action_state.front(); E; E = E->next()) {
if (E->get().pressed) {
return true;
}
}
return !keys_pressed.is_empty() ||
!joy_buttons_pressed.is_empty() ||
mouse_button_mask > MouseButton::NONE;
}
bool Input::is_key_pressed(Key p_keycode) const {
_THREAD_SAFE_METHOD_
return keys_pressed.has(p_keycode);