aboutsummaryrefslogtreecommitdiff
path: root/client/gui/menus/settings/input/input_value_node.gd
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-09-15 16:44:46 +0200
committermetamuffin <metamuffin@disroot.org>2025-09-15 16:44:46 +0200
commit2ab827a9975b59490a9f46a7d22b9fd387879c18 (patch)
treefb2375442b7d179250d6b8a14ea16b00123fbe12 /client/gui/menus/settings/input/input_value_node.gd
parent676d4dcb6c439677b91b1b5cbc0bf08f98e2dd9d (diff)
downloadhurrycurry-2ab827a9975b59490a9f46a7d22b9fd387879c18.tar
hurrycurry-2ab827a9975b59490a9f46a7d22b9fd387879c18.tar.bz2
hurrycurry-2ab827a9975b59490a9f46a7d22b9fd387879c18.tar.zst
implement JSON InputEvent load+save
Diffstat (limited to 'client/gui/menus/settings/input/input_value_node.gd')
-rw-r--r--client/gui/menus/settings/input/input_value_node.gd13
1 files changed, 2 insertions, 11 deletions
diff --git a/client/gui/menus/settings/input/input_value_node.gd b/client/gui/menus/settings/input/input_value_node.gd
index 7c718e25..29b53850 100644
--- a/client/gui/menus/settings/input/input_value_node.gd
+++ b/client/gui/menus/settings/input/input_value_node.gd
@@ -16,7 +16,7 @@
extends VBoxContainer
class_name InputValueNode
-var value: Array[InputEvent] = []
+var value = []
var listening := false
signal changed()
@@ -53,22 +53,13 @@ func _input(e: InputEvent):
if e is InputEventKey or e is InputEventMouseButton or e is InputEventJoypadButton or e is InputEventJoypadMotion:
# Check if key was already added
for e2 in value:
- if events_equal(e, e2): return
+ if InputSetting.events_equal(e, e2): return
value.append(e)
_on_add_pressed()
update()
changed.emit()
-func events_equal(e1: InputEvent, e2: InputEvent) -> bool:
- if e1 is InputEventKey and e2 is InputEventKey:
- return e1.physical_keycode == e2.physical_keycode
- if (e1 is InputEventMouseButton and e2 is InputEventMouseButton) or (e1 is InputEventJoypadButton and e2 is InputEventJoypadButton):
- return e1.button_index == e2.button_index
- if e1 is InputEventJoypadMotion and e2 is InputEventJoypadMotion:
- return e1.axis == e2.axis
- return false
-
func _on_add_pressed() -> void:
listening = not listening
add_button.text = tr("c.settings.input.press_any_key") if listening else add_text