aboutsummaryrefslogtreecommitdiff
path: root/client/menu/menu_manager.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/menu/menu_manager.gd')
-rw-r--r--client/menu/menu_manager.gd33
1 files changed, 3 insertions, 30 deletions
diff --git a/client/menu/menu_manager.gd b/client/menu/menu_manager.gd
index 58f35885..e51e47f1 100644
--- a/client/menu/menu_manager.gd
+++ b/client/menu/menu_manager.gd
@@ -8,18 +8,14 @@ class_name MenuManager
}
@onready var transition = $SceneTransition
-@onready var hover_sound = $Hover
-@onready var click_sound = $Click
-
var menu_stack = ["main"]
-
func _ready():
- get_viewport().gui_focus_changed.connect(play_hover_maybe)
+ get_viewport().gui_focus_changed.connect(Sound.play_hover_maybe)
Global.focus_first_button(menus[menu_stack.back()])
for m in menus.values():
- connect_button_sounds(m)
+ Global.connect_button_sounds(m)
if Global.fade_next:
Global.fade_next = false
@@ -27,7 +23,7 @@ func _ready():
func _input(_event):
if Input.is_action_just_pressed("ui_cancel") && menu_stack.size() > 1:
- play_click()
+ Sound.play_click()
go_back()
func goto(menu_name: String):
@@ -53,26 +49,3 @@ func show_menu(menu_name: String):
else:
menus[k].hide()
await transition.fade_in()
-
-func connect_button_sounds(node: Node):
- if node is Button:
- node.pressed.connect(play_click)
- if node is Button or node is LineEdit or node is Slider:
- node.mouse_entered.connect(play_hover)
- for c in node.get_children():
- connect_button_sounds(c)
-
-func play_click():
- click_sound.play()
-
-func play_hover():
- hover_sound.play()
-
-func play_hover_maybe(element):
- if Global.focus_auto_changed:
- Global.focus_auto_changed = false
- return
- if element is Button:
- if element.is_hovered():
- return
- play_hover()