1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-10 21:57:12 +08:00

feat(多人游戏): 实现基础多人游戏功能

- 添加玩家位置同步功能
- 实现服务器和客户端连接管理
- 添加玩家名称输入和生成逻辑
- 完善多人游戏UI界面
- 移除单机模式下的预设玩家角色
This commit is contained in:
2025-11-09 17:00:39 +08:00
parent c28d725d3e
commit 79bc956b71
5 changed files with 117 additions and 20 deletions
@@ -65,13 +65,36 @@ unique_name_in_owner = true
layout_mode = 2
text = "0 ∈ [0, 0]"
[node name="startBtn" type="Button" parent="content/wrapper/starter/singleplayer" index="1"]
[node name="start" type="HBoxContainer" parent="content/wrapper/starter/singleplayer" index="1"]
layout_mode = 2
alignment = 1
[node name="playerNameInput" type="LineEdit" parent="content/wrapper/starter/singleplayer/start" index="0"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 4
theme = ExtResource("4_lfxcn")
text = "公鸡"
placeholder_text = "角色名"
expand_to_text_length = true
virtual_keyboard_type = 7
select_all_on_focus = true
[node name="startBtn" type="Button" parent="content/wrapper/starter/singleplayer/start" index="1"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("4_lfxcn")
text = "单人游戏"
[node name="startMultiplayerBtn" type="Button" parent="content/wrapper/starter/singleplayer/start" index="2"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("4_lfxcn")
disabled = true
text = "多人游戏"
[node name="multiplayer" type="VBoxContainer" parent="content/wrapper/starter" index="1"]
layout_mode = 2
theme_override_constants/separation = 15
@@ -153,26 +176,31 @@ size_flags_horizontal = 4
disabled = true
text = "断开连接"
[node name="serverConfig" type="VBoxContainer" parent="content/wrapper/starter/multiplayer" index="1"]
[node name="HBoxContainer" type="HBoxContainer" parent="content/wrapper/starter/multiplayer" index="1"]
layout_mode = 2
theme_override_constants/separation = 30
alignment = 1
[node name="title" type="Label" parent="content/wrapper/starter/multiplayer/serverConfig" index="0"]
[node name="serverConfig" type="VBoxContainer" parent="content/wrapper/starter/multiplayer/HBoxContainer" index="0"]
unique_name_in_owner = true
layout_mode = 2
[node name="title" type="Label" parent="content/wrapper/starter/multiplayer/HBoxContainer/serverConfig" index="0"]
layout_mode = 2
size_flags_horizontal = 4
text = "服务器配置"
[node name="maxPlayer" type="HBoxContainer" parent="content/wrapper/starter/multiplayer/serverConfig" index="1"]
[node name="maxPlayer" type="HBoxContainer" parent="content/wrapper/starter/multiplayer/HBoxContainer/serverConfig" index="1"]
layout_mode = 2
alignment = 1
[node name="title" type="Label" parent="content/wrapper/starter/multiplayer/serverConfig/maxPlayer" index="0"]
[node name="title" type="Label" parent="content/wrapper/starter/multiplayer/HBoxContainer/serverConfig/maxPlayer" index="0"]
layout_mode = 2
size_flags_horizontal = 4
text = "最大玩家数"
label_settings = SubResource("LabelSettings_i7qv0")
[node name="maxPlayerInput" type="LineEdit" parent="content/wrapper/starter/multiplayer/serverConfig/maxPlayer" index="1"]
[node name="maxPlayerInput" type="LineEdit" parent="content/wrapper/starter/multiplayer/HBoxContainer/serverConfig/maxPlayer" index="1"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
@@ -182,3 +210,26 @@ expand_to_text_length = true
emoji_menu_enabled = false
virtual_keyboard_type = 2
select_all_on_focus = true
[node name="VBoxContainer" type="VBoxContainer" parent="content/wrapper/starter/multiplayer/HBoxContainer" index="1"]
layout_mode = 2
[node name="Label" type="Label" parent="content/wrapper/starter/multiplayer/HBoxContainer/VBoxContainer" index="0"]
layout_mode = 2
text = "玩家名"
[node name="Label2" type="Label" parent="content/wrapper/starter/multiplayer/HBoxContainer/VBoxContainer" index="1"]
layout_mode = 2
text = "玩家名"
[node name="Label3" type="Label" parent="content/wrapper/starter/multiplayer/HBoxContainer/VBoxContainer" index="2"]
layout_mode = 2
text = "玩家名"
[node name="Label4" type="Label" parent="content/wrapper/starter/multiplayer/HBoxContainer/VBoxContainer" index="3"]
layout_mode = 2
text = "玩家名"
[node name="Label5" type="Label" parent="content/wrapper/starter/multiplayer/HBoxContainer/VBoxContainer" index="4"]
layout_mode = 2
text = "玩家名"