Add main menu, WebSocket API demo, and multi-scene game hub.

Replace the single-entry Pong flow with a menu launcher, a per-client API demo on :8081/ws with stream controls and tap flash feedback, and bump the viewport to 1920×1080.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-29 21:43:44 +02:00
co-authored by Cursor
parent 9107dea6ff
commit 84827c9782
20 changed files with 1503 additions and 29 deletions
+82
View File
@@ -0,0 +1,82 @@
[gd_scene format=3 uid="uid://rbiqgb2rqnpc"]
[ext_resource type="Script" path="res://scripts/config.gd" id="1_config"]
[node name="Config" 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_config")
[node name="Background" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(0.08, 0.09, 0.14, 1)
[node name="UiLayer" type="CanvasLayer" parent="."]
[node name="BackButton" type="Button" parent="UiLayer"]
offset_left = 16.0
offset_top = 12.0
offset_right = 120.0
offset_bottom = 44.0
text = "Menü"
[node name="Title" type="Label" parent="UiLayer"]
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -200.0
offset_top = 80.0
offset_right = 200.0
offset_bottom = 120.0
grow_horizontal = 2
theme_override_colors/font_color = Color(0.9, 0.92, 0.98, 1)
theme_override_font_sizes/font_size = 28
horizontal_alignment = 1
text = "Config"
[node name="Panel" type="VBoxContainer" parent="UiLayer"]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -280.0
offset_top = -80.0
offset_right = 280.0
offset_bottom = 80.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 20
alignment = 1
[node name="WSUrlLabel" type="Label" parent="UiLayer/Panel"]
layout_mode = 2
theme_override_colors/font_color = Color(0.75, 0.8, 0.9, 1)
theme_override_font_sizes/font_size = 16
horizontal_alignment = 1
text = "WebSocket: ws://localhost:9090/ws"
[node name="ViewportLabel" type="Label" parent="UiLayer/Panel"]
layout_mode = 2
theme_override_colors/font_color = Color(0.75, 0.8, 0.9, 1)
theme_override_font_sizes/font_size = 16
horizontal_alignment = 1
text = "Viewport: 1152 × 648"
[node name="HintLabel" type="Label" parent="UiLayer/Panel"]
layout_mode = 2
theme_override_colors/font_color = Color(0.6, 0.65, 0.75, 1)
theme_override_font_sizes/font_size = 14
horizontal_alignment = 1
autowrap_mode = 3
text = "Projekteinstellungen (weitere Optionen folgen)"