add limit to key requests
This commit is contained in:
parent
c058c274ac
commit
da1c491a09
@ -37,6 +37,7 @@ var prompt_pages_total: int = 0
|
|||||||
var _rot_sod: SecondOrderDynamics
|
var _rot_sod: SecondOrderDynamics
|
||||||
|
|
||||||
var _requested_keys: Array[GameKey] = []
|
var _requested_keys: Array[GameKey] = []
|
||||||
|
var _requested_keys_limit: int = 0
|
||||||
|
|
||||||
@onready var _gap_to_size_ratio: float
|
@onready var _gap_to_size_ratio: float
|
||||||
@onready var _pressing_lean_rad := Vector2(
|
@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)
|
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 = []
|
||||||
|
_requested_keys_limit = limit
|
||||||
|
|
||||||
keys_requested.emit(filter_func)
|
keys_requested.emit(filter_func)
|
||||||
var requested_keys := _requested_keys
|
var requested_keys := _requested_keys
|
||||||
|
|
||||||
_requested_keys = []
|
_requested_keys = []
|
||||||
|
_requested_keys_limit = 0
|
||||||
|
|
||||||
requested_keys.sort_custom(GameKey.sort_func)
|
requested_keys.sort_custom(GameKey.sort_func)
|
||||||
return requested_keys
|
return requested_keys
|
||||||
|
|
||||||
|
|
||||||
func key_request_respond(game_key: GameKey) -> void:
|
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
|
#endregion
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user