Check action exists in `Input.action_press` and `action_release`

This commit is contained in:
jsjtxietian 2024-01-18 12:53:52 +08:00
parent 107f2961cc
commit 4b3a12f4ee
1 changed files with 4 additions and 0 deletions

View File

@ -865,6 +865,8 @@ Point2i Input::warp_mouse_motion(const Ref<InputEventMouseMotion> &p_motion, con
} }
void Input::action_press(const StringName &p_action, float p_strength) { void Input::action_press(const StringName &p_action, float p_strength) {
ERR_FAIL_COND_MSG(!InputMap::get_singleton()->has_action(p_action), InputMap::get_singleton()->suggest_actions(p_action));
// Create or retrieve existing action. // Create or retrieve existing action.
ActionState &action_state = action_states[p_action]; ActionState &action_state = action_states[p_action];
@ -879,6 +881,8 @@ void Input::action_press(const StringName &p_action, float p_strength) {
} }
void Input::action_release(const StringName &p_action) { void Input::action_release(const StringName &p_action) {
ERR_FAIL_COND_MSG(!InputMap::get_singleton()->has_action(p_action), InputMap::get_singleton()->suggest_actions(p_action));
// Create or retrieve existing action. // Create or retrieve existing action.
ActionState &action_state = action_states[p_action]; ActionState &action_state = action_states[p_action];
action_state.cache.pressed = 0; action_state.cache.pressed = 0;