summaryrefslogtreecommitdiff
path: root/addons/escoria-ui-keyboard-9verbs/verbs_menu.gd
diff options
context:
space:
mode:
authorRadio <radiohotline@disroot.org>2026-06-04 15:15:11 +0300
committerRadio <radiohotline@disroot.org>2026-06-04 15:15:11 +0300
commit9d74b49ab62908d4acf53dde444413886b8b28e5 (patch)
tree0cb785267ea7e239b19d88684c0d64b9bd5d52f0 /addons/escoria-ui-keyboard-9verbs/verbs_menu.gd
parent2c85d452ad02a5f89cd43bad7f9de31d0e4fa0c1 (diff)
escoria setup and old branch archives
Diffstat (limited to 'addons/escoria-ui-keyboard-9verbs/verbs_menu.gd')
-rw-r--r--addons/escoria-ui-keyboard-9verbs/verbs_menu.gd32
1 files changed, 32 insertions, 0 deletions
diff --git a/addons/escoria-ui-keyboard-9verbs/verbs_menu.gd b/addons/escoria-ui-keyboard-9verbs/verbs_menu.gd
new file mode 100644
index 0000000..22c417c
--- /dev/null
+++ b/addons/escoria-ui-keyboard-9verbs/verbs_menu.gd
@@ -0,0 +1,32 @@
+extends Control
+
+"""
+This script is out of Escoria's scope. It controls the UI reaction to an
+UI event (eg right click) to change the cursor accordingly.
+"""
+
+var selected_action
+
+func _ready():
+ for but in get_children():
+ but.connect("pressed", Callable(self, "on_action_selected").bind(but.name))
+ but.toggle_mode = true
+
+func on_action_selected(action: String):
+ if escoria.inputs_manager.input_mode != escoria.inputs_manager.INPUT_ALL:
+ unselect_actions()
+ return
+
+ escoria.action_manager.set_current_action(action)
+
+ for but in get_children():
+ but.set_pressed(but.get_name() == action)
+
+func unselect_actions():
+ for but in get_children():
+ but.set_pressed(false)
+
+func set_by_name(action_name: String):
+ selected_action = action_name
+ for but in get_children():
+ but.set_pressed(but.get_name() == action_name)