The popups, the volume slider, the player name field and the main window get a class_name, so the main window and the quiz hold them by their real type instead of Control. The classes already use the names the files will get.
75 lines
2.3 KiB
GDScript
75 lines
2.3 KiB
GDScript
class_name ShortcutsPopup
|
|
extends PopupWindow
|
|
|
|
@onready
|
|
var shortcuts_vbox: VBoxContainer = %shortcutsVBox
|
|
|
|
@onready
|
|
var shortcuts_panel: Panel = %ShortcutsPanel
|
|
|
|
var shortcuts_dic: Dictionary = {
|
|
"Alt + S": "Search",
|
|
"Alt + A": "Add Players",
|
|
"Alt + Z": "Reset",
|
|
"Alt + X": "Play/Pause",
|
|
"Alt + C": "Next Song",
|
|
"Alt + V": "Show Answer",
|
|
"Alt + L": "Show Debug Log",
|
|
"Alt + K": "Show shortcuts",
|
|
"Alt + Enter": "Fullscreen",
|
|
"Alt + UP": "Volume up",
|
|
"Alt + DOWN": "Volume down",
|
|
"Alt + LEFT": "Jump back in song",
|
|
"Alt + Ctrl + LEFT": "Restart song",
|
|
"Alt + RIGHT": "Jump forward in song",
|
|
"Alt + 1 - 9": "Give player point",
|
|
"Alt + Ctrl + 1 - 9": "Take point from player",
|
|
}
|
|
|
|
#Color(0.18, 0.18, 0.18)
|
|
#Color(0.302, 0.302, 0.302)
|
|
#Color(0.259, 0.259, 0.259)
|
|
|
|
func _ready() -> void:
|
|
shortcuts_dic.sort()
|
|
Settings.delete_children(shortcuts_vbox)
|
|
|
|
var title: Label = Label.new()
|
|
title.add_theme_font_size_override("font_size", 20)
|
|
title.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
|
title.text = "Shortcuts"
|
|
shortcuts_vbox.add_child(title)
|
|
|
|
var count: int = 0
|
|
for shortcut: String in shortcuts_dic.keys():
|
|
var panel: PanelContainer = PanelContainer.new()
|
|
var hbox: HBoxContainer = HBoxContainer.new()
|
|
hbox.alignment = BoxContainer.ALIGNMENT_CENTER
|
|
|
|
var label: Label = Label.new()
|
|
label.add_theme_font_size_override("font_size", 20)
|
|
label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
|
label.text = shortcut
|
|
label.autowrap_mode = TextServer.AUTOWRAP_WORD
|
|
label.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
|
|
|
var label2: Label = Label.new()
|
|
label2.add_theme_font_size_override("font_size", 20)
|
|
label2.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
|
label2.text = shortcuts_dic[shortcut]
|
|
label2.autowrap_mode = TextServer.AUTOWRAP_WORD
|
|
label2.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
|
|
|
if count % 2 == 0:
|
|
var new_stylebox_normal: Resource = panel.get_theme_stylebox("panel").duplicate()
|
|
new_stylebox_normal.bg_color = Color(0.18, 0.18, 0.18)
|
|
panel.add_theme_stylebox_override("panel", new_stylebox_normal)
|
|
#label.add_theme_stylebox_override("normal", new_stylebox_normal)
|
|
#label2.add_theme_stylebox_override("normal", new_stylebox_normal)
|
|
|
|
hbox.add_child(label)
|
|
hbox.add_child(label2)
|
|
panel.add_child(hbox)
|
|
shortcuts_vbox.add_child(panel)
|
|
count += 1
|