add limit to key requests

This commit is contained in:
Teatov 2025-08-02 18:28:15 +10:00
parent c058c274ac
commit da1c491a09

View File

@ -37,6 +37,7 @@ var prompt_pages_total: int = 0
var _rot_sod: SecondOrderDynamics
var _requested_keys: Array[GameKey] = []
var _requested_keys_limit: int = 0
@onready var _gap_to_size_ratio: float
@onready var _pressing_lean_rad := Vector2(
@ -116,17 +117,23 @@ func emit_key_press(game_key: GameKey, event: InputEventKey) -> void:
key_press_changed.emit(game_key, event)
func request_keys(filter_func: Callable) -> Array[GameKey]:
func request_keys(filter_func: Callable, limit: int = 0) -> Array[GameKey]:
_requested_keys = []
_requested_keys_limit = limit
keys_requested.emit(filter_func)
var requested_keys := _requested_keys
_requested_keys = []
_requested_keys_limit = 0
requested_keys.sort_custom(GameKey.sort_func)
return requested_keys
func key_request_respond(game_key: GameKey) -> void:
_requested_keys.append(game_key)
if _requested_keys_limit == 0 or _requested_keys.size() < _requested_keys_limit:
_requested_keys.append(game_key)
#endregion