aboutsummaryrefslogtreecommitdiff
path: root/client/menu
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2024-09-02 01:12:05 +0200
committertpart <tpart120@proton.me>2024-09-02 01:12:11 +0200
commit20827b958e616e6421e59ebf9d4f24f718ca62fd (patch)
tree2556ffe9deda7ac281c234f7c0dd1ce61dadbd09 /client/menu
parent5fec7c7daa4741189a2749d7531e64b1ba6be58b (diff)
downloadhurrycurry-20827b958e616e6421e59ebf9d4f24f718ca62fd.tar
hurrycurry-20827b958e616e6421e59ebf9d4f24f718ca62fd.tar.bz2
hurrycurry-20827b958e616e6421e59ebf9d4f24f718ca62fd.tar.zst
Apply new input settings
Diffstat (limited to 'client/menu')
-rw-r--r--client/menu/settings/input/input_manager.gd13
1 files changed, 9 insertions, 4 deletions
diff --git a/client/menu/settings/input/input_manager.gd b/client/menu/settings/input/input_manager.gd
index 14e1b99c..b0b8170d 100644
--- a/client/menu/settings/input/input_manager.gd
+++ b/client/menu/settings/input/input_manager.gd
@@ -37,15 +37,20 @@ func input_map_to_settings_dictionary(map: Dictionary) -> Dictionary:
settings_dict[k] = InputSetting.new(k, events)
return settings_dict
-func change_input_map_action(action_name: String, event: InputEvent, save: bool = true):
+func settings_dictionary_to_input_map(settings: Dictionary) -> Dictionary:
+ var map := {}
+ for k in settings.keys():
+ var setting: InputSetting = settings[k]
+ map[k] = setting.get_value()
+ return map
+
+func change_input_map_action(action_name: String, events: Array, save: bool = true):
if !InputMap.has_action(action_name):
push_error("Action %s does not exist" % action_name, false)
return
# Erase previous keybindings
- var events = InputMap.action_get_events(action_name).duplicate(true)
InputMap.action_erase_events(action_name)
# Add new keybindings
- events[0] = event
for e in events:
InputMap.action_add_event(action_name, e)
@@ -65,7 +70,7 @@ func apply_input_map(new_input_map: Dictionary):
# Apply keybindings
for k in input_map.keys():
- change_input_map_action(k, input_map[k][0], false)
+ change_input_map_action(k, input_map[k], false)
func reset_input_map():
Global.set_setting("input_map", default_input_map.duplicate())