From 564cf7c1683a08944bcdb37819122e2813abea53 Mon Sep 17 00:00:00 2001 From: teatov Date: Wed, 6 Aug 2025 01:34:14 +1000 Subject: [PATCH] add `query_keys_by_keycodes` method --- scripts/game_keyboard.gd | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/scripts/game_keyboard.gd b/scripts/game_keyboard.gd index b9ede31..3a9594a 100644 --- a/scripts/game_keyboard.gd +++ b/scripts/game_keyboard.gd @@ -114,16 +114,6 @@ func _unhandled_input(event: InputEvent) -> void: #region public -func query_key_by_keycode(keycode: Key) -> GameKey: - var found_key: GameKey - var result := query_keys( - func(game_key: GameKey) -> bool: return game_key.props.keycode == keycode, 1 - ) - if result: - found_key = result[0] - return found_key - - func query_keys(query_func: Callable, limit: int = 0) -> Array[GameKey]: _queried_keys = [] _queried_keys_limit = limit @@ -138,6 +128,22 @@ func query_keys(query_func: Callable, limit: int = 0) -> Array[GameKey]: return queried_keys +func query_key_by_keycode(keycode: Key) -> GameKey: + var found_key: GameKey + var result := query_keys( + func(game_key: GameKey) -> bool: return game_key.props.keycode == keycode, 1 + ) + if result: + found_key = result[0] + return found_key + + +func query_keys_by_keycodes(keycodes: Array[Key]) -> Array[GameKey]: + return query_keys( + func(game_key: GameKey) -> bool: return game_key.props.keycode in keycodes + ) + + func key_query_respond(game_key: GameKey) -> void: if _queried_keys_limit == 0 or _queried_keys.size() < _queried_keys_limit: _queried_keys.append(game_key)