test implement webrtc

This commit is contained in:
2026-01-14 18:25:07 +01:00
parent 0c0998cd05
commit f71b510cfc
9 changed files with 1091 additions and 56 deletions

View File

@@ -1,11 +1,11 @@
[gd_scene format=3 uid="uid://d4fgxay8kqp5u"]
[ext_resource type="Script" path="res://scripts/game_ui.gd" id="1"]
[ext_resource type="Script" uid="uid://ofhtysy8r43v" path="res://scripts/game_ui.gd" id="1"]
[node name="GameUI" type="CanvasLayer"]
[node name="GameUI" type="CanvasLayer" unique_id=2051025577]
script = ExtResource("1")
[node name="Control" type="Control" parent="."]
[node name="Control" type="Control" parent="." unique_id=1160035312]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@@ -13,7 +13,7 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="MainMenu" type="Panel" parent="Control"]
[node name="MainMenu" type="Panel" parent="Control" unique_id=1231078062]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
@@ -27,7 +27,7 @@ offset_bottom = 250.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer" parent="Control/MainMenu"]
[node name="VBoxContainer" type="VBoxContainer" parent="Control/MainMenu" unique_id=1287690408]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
@@ -42,65 +42,85 @@ grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 20
[node name="Title" type="Label" parent="Control/MainMenu/VBoxContainer"]
[node name="Title" type="Label" parent="Control/MainMenu/VBoxContainer" unique_id=1219314113]
layout_mode = 2
text = "Multiplayer Coop RPG"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="Spacer1" type="Control" parent="Control/MainMenu/VBoxContainer"]
[node name="Spacer1" type="Control" parent="Control/MainMenu/VBoxContainer" unique_id=1826786842]
custom_minimum_size = Vector2(0, 20)
layout_mode = 2
[node name="LocalPlayersContainer" type="HBoxContainer" parent="Control/MainMenu/VBoxContainer"]
[node name="NetworkModeContainer" type="HBoxContainer" parent="Control/MainMenu/VBoxContainer" unique_id=1234567890]
layout_mode = 2
[node name="Label" type="Label" parent="Control/MainMenu/VBoxContainer/LocalPlayersContainer"]
[node name="Label" type="Label" parent="Control/MainMenu/VBoxContainer/NetworkModeContainer" unique_id=1234567891]
layout_mode = 2
size_flags_horizontal = 3
text = "Network Mode:"
vertical_alignment = 1
[node name="NetworkModeOption" type="OptionButton" parent="Control/MainMenu/VBoxContainer/NetworkModeContainer" unique_id=1234567892]
layout_mode = 2
size_flags_horizontal = 3
selected = 0
item_count = 3
popup/item_0/text = "ENet (PC/LAN)"
popup/item_0/id = 0
popup/item_1/text = "WebRTC (Browser/Web)"
popup/item_1/id = 1
popup/item_2/text = "WebSocket (Cross-Platform)"
popup/item_2/id = 2
[node name="LocalPlayersContainer" type="HBoxContainer" parent="Control/MainMenu/VBoxContainer" unique_id=1860926318]
layout_mode = 2
[node name="Label" type="Label" parent="Control/MainMenu/VBoxContainer/LocalPlayersContainer" unique_id=1617550731]
layout_mode = 2
size_flags_horizontal = 3
text = "Local Players:"
vertical_alignment = 1
[node name="SpinBox" type="SpinBox" parent="Control/MainMenu/VBoxContainer/LocalPlayersContainer"]
[node name="SpinBox" type="SpinBox" parent="Control/MainMenu/VBoxContainer/LocalPlayersContainer" unique_id=1805678257]
layout_mode = 2
min_value = 1.0
max_value = 4.0
value = 1.0
[node name="AddressContainer" type="HBoxContainer" parent="Control/MainMenu/VBoxContainer"]
[node name="AddressContainer" type="HBoxContainer" parent="Control/MainMenu/VBoxContainer" unique_id=69104887]
layout_mode = 2
[node name="Label" type="Label" parent="Control/MainMenu/VBoxContainer/AddressContainer"]
[node name="Label" type="Label" parent="Control/MainMenu/VBoxContainer/AddressContainer" unique_id=1727520435]
layout_mode = 2
size_flags_horizontal = 3
text = "Server Address:"
vertical_alignment = 1
[node name="AddressInput" type="LineEdit" parent="Control/MainMenu/VBoxContainer/AddressContainer"]
[node name="AddressInput" type="LineEdit" parent="Control/MainMenu/VBoxContainer/AddressContainer" unique_id=314768458]
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "127.0.0.1"
expand_to_text_length = true
placeholder_text = "ruinborn.thefirstboss.com"
[node name="Spacer2" type="Control" parent="Control/MainMenu/VBoxContainer"]
[node name="Spacer2" type="Control" parent="Control/MainMenu/VBoxContainer" unique_id=1061067008]
custom_minimum_size = Vector2(0, 20)
layout_mode = 2
[node name="HostButton" type="Button" parent="Control/MainMenu/VBoxContainer"]
[node name="HostButton" type="Button" parent="Control/MainMenu/VBoxContainer" unique_id=268532531]
layout_mode = 2
text = "Host Game"
[node name="JoinButton" type="Button" parent="Control/MainMenu/VBoxContainer"]
[node name="JoinButton" type="Button" parent="Control/MainMenu/VBoxContainer" unique_id=417556513]
layout_mode = 2
text = "Join Game"
[node name="Spacer3" type="Control" parent="Control/MainMenu/VBoxContainer"]
[node name="Spacer3" type="Control" parent="Control/MainMenu/VBoxContainer" unique_id=1966231585]
custom_minimum_size = Vector2(0, 20)
layout_mode = 2
size_flags_vertical = 3
[node name="Instructions" type="Label" parent="Control/MainMenu/VBoxContainer"]
[node name="Instructions" type="Label" parent="Control/MainMenu/VBoxContainer" unique_id=1999421718]
layout_mode = 2
text = "Controls:
WASD/Arrows - Move (P1) | Gamepad (P2+)
@@ -108,4 +128,3 @@ E/A (Tap) - Lift/Throw
E/A (Hold) - Push/Pull"
horizontal_alignment = 1
autowrap_mode = 2