add gamepad support to menus

This commit is contained in:
2025-09-25 11:11:49 +04:00
parent 301d858ea5
commit bacc66d26c
16 changed files with 1122 additions and 68 deletions

View File

@@ -0,0 +1,58 @@
[gd_scene load_steps=3 format=3 uid="uid://bm3x8y4h9l2kv"]
[ext_resource type="Script" path="res://examples/LanguageSelectorExample.gd" id="1_example"]
[ext_resource type="PackedScene" path="res://scenes/ui/components/LanguageSelector.tscn" id="2_language_selector"]
[node name="LanguageSelectorExample" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_example")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.0
offset_top = -20.0
offset_right = 20.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
[node name="Title" type="Label" parent="VBoxContainer"]
layout_mode = 2
text = "Language Selector Component Example"
horizontal_alignment = 1
[node name="HSeparator" type="HSeparator" parent="VBoxContainer"]
layout_mode = 2
[node name="LanguageContainer" type="HBoxContainer" parent="VBoxContainer"]
layout_mode = 2
[node name="LanguageLabel" type="Label" parent="VBoxContainer/LanguageContainer"]
custom_minimum_size = Vector2(150, 0)
layout_mode = 2
text = "Language:"
[node name="LanguageSelector" parent="VBoxContainer/LanguageContainer" instance=ExtResource("2_language_selector")]
layout_mode = 2
[node name="HSeparator2" type="HSeparator" parent="VBoxContainer"]
layout_mode = 2
[node name="Instructions" type="Label" parent="VBoxContainer"]
layout_mode = 2
text = "• Click arrow buttons with mouse
• Use keyboard/gamepad navigation with left/right
• Component is fully reusable in any scene"
horizontal_alignment = 1
[connection signal="language_changed" from="VBoxContainer/LanguageContainer/LanguageSelector" to="." method="_on_language_changed"]