1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00

feat(游戏模式): 添加游戏模式选择功能并优化UI状态管理

实现游戏模式选择功能,包括无尽波次、Boss Rush和割草模式
添加游戏模式与波次数据的映射关系
优化UI状态管理,新增selectingFeed状态控制UI元素显示
重构Starter面板布局,添加游戏模式选项
为EnergyBlock添加掉落物品配置
This commit is contained in:
2026-05-03 16:03:02 +08:00
parent be151c5317
commit 2a602b0be2
10 changed files with 119 additions and 71 deletions
+39 -14
View File
@@ -197,39 +197,59 @@ theme_override_constants/separation = 30
layout_mode = 2
theme_override_constants/separation = 20
[node name="diffs" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer" index="0" unique_id=526058063]
[node name="playConfig" type="VBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer" index="0" unique_id=1132195820]
layout_mode = 2
theme_override_constants/separation = 6
[node name="diffs" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig" index="0" unique_id=526058063]
layout_mode = 2
alignment = 1
[node name="tip" type="Label" parent="content/wrapper/wrapper/start/starter/singleplayer/diffs" index="0" unique_id=1507689450]
[node name="tip" type="Label" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/diffs" index="0" unique_id=1507689450]
layout_mode = 2
text = "选择难度:"
[node name="diffEdit" type="HSlider" parent="content/wrapper/wrapper/start/starter/singleplayer/diffs" index="1" unique_id=1308866785]
[node name="diffEdit" type="HSlider" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/diffs" index="1" unique_id=1308866785]
unique_name_in_owner = true
custom_minimum_size = Vector2(100, 0)
layout_mode = 2
size_flags_vertical = 4
max_value = 0.0
[node name="levelShow" type="Label" parent="content/wrapper/wrapper/start/starter/singleplayer/diffs" index="2" unique_id=1102279314]
[node name="levelShow" type="Label" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/diffs" index="2" unique_id=1102279314]
unique_name_in_owner = true
layout_mode = 2
text = "0 ∈ [0, 0]"
[node name="start" type="VBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer" index="1" unique_id=1119283819]
layout_mode = 2
theme_override_constants/separation = 10
alignment = 1
[node name="player" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer/start" index="0" unique_id=656225175]
[node name="gamemode" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig" index="1" unique_id=1396041711]
layout_mode = 2
[node name="tip" type="Label" parent="content/wrapper/wrapper/start/starter/singleplayer/start/player" index="0" unique_id=1899542373]
[node name="tip" type="Label" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/gamemode" index="0" unique_id=1975146551]
layout_mode = 2
text = "游戏模式:"
[node name="gamemodeOption" type="OptionButton" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/gamemode" index="1" unique_id=620219949]
unique_name_in_owner = true
layout_mode = 2
theme = ExtResource("4_lfxcn")
selected = 0
allow_reselect = true
item_count = 3
popup/item_0/text = "无尽波次"
popup/item_0/id = 0
popup/item_1/text = "Boss Rush"
popup/item_1/id = 1
popup/item_2/text = "割草"
popup/item_2/id = 2
[node name="player" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig" index="2" unique_id=656225175]
layout_mode = 2
[node name="tip" type="Label" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/player" index="0" unique_id=1899542373]
layout_mode = 2
text = "角色名:"
[node name="playerNameInput" type="LineEdit" parent="content/wrapper/wrapper/start/starter/singleplayer/start/player" index="1" unique_id=1401004968]
[node name="playerNameInput" type="LineEdit" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/player" index="1" unique_id=1401004968]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
@@ -242,14 +262,19 @@ expand_to_text_length = true
select_all_on_focus = true
virtual_keyboard_type = 7
[node name="startSingleplayerBtn" type="Button" parent="content/wrapper/wrapper/start/starter/singleplayer/start" index="1" unique_id=935895475]
[node name="start" type="VBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer" index="1" unique_id=1119283819]
layout_mode = 2
theme_override_constants/separation = 10
alignment = 1
[node name="startSingleplayerBtn" type="Button" parent="content/wrapper/wrapper/start/starter/singleplayer/start" index="0" unique_id=935895475]
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/wrapper/start/starter/singleplayer/start" index="2" unique_id=1874616219]
[node name="startMultiplayerBtn" type="Button" parent="content/wrapper/wrapper/start/starter/singleplayer/start" index="1" unique_id=1874616219]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
+20 -18
View File
@@ -134,7 +134,8 @@ grow_vertical = 2
unique_name_in_owner = true
layout_mode = 1
[node name="items" type="PanelContainer" parent="root" unique_id=889148256]
[node name="itemsContainer" type="PanelContainer" parent="root" unique_id=889148256]
unique_name_in_owner = true
z_index = 1
z_as_relative = false
layout_mode = 1
@@ -150,36 +151,37 @@ grow_vertical = 0
theme_override_styles/panel = SubResource("StyleBoxFlat_k2y4g")
metadata/_edit_lock_ = true
[node name="items" type="HBoxContainer" parent="root/items" unique_id=1102895760]
[node name="items" type="HBoxContainer" parent="root/itemsContainer" unique_id=1102895760]
unique_name_in_owner = true
layout_mode = 2
alignment = 1
[node name="baseball" parent="root/items/items" unique_id=222901100 instance=ExtResource("3_o2oi4")]
[node name="baseball" parent="root/itemsContainer/items" unique_id=222901100 instance=ExtResource("3_o2oi4")]
unique_name_in_owner = true
layout_mode = 2
[node name="basketball" parent="root/items/items" unique_id=1586914104 instance=ExtResource("3_o2oi4")]
[node name="basketball" parent="root/itemsContainer/items" unique_id=1586914104 instance=ExtResource("3_o2oi4")]
unique_name_in_owner = true
layout_mode = 2
type = 1
[node name="apple" parent="root/items/items" unique_id=895524937 instance=ExtResource("3_o2oi4")]
[node name="apple" parent="root/itemsContainer/items" unique_id=895524937 instance=ExtResource("3_o2oi4")]
unique_name_in_owner = true
layout_mode = 2
type = 2
[node name="beachball" parent="root/items/items" unique_id=23220525 instance=ExtResource("3_o2oi4")]
[node name="beachball" parent="root/itemsContainer/items" unique_id=23220525 instance=ExtResource("3_o2oi4")]
unique_name_in_owner = true
layout_mode = 2
type = 3
[node name="soul" parent="root/items/items" unique_id=1287636941 instance=ExtResource("3_o2oi4")]
[node name="soul" parent="root/itemsContainer/items" unique_id=1287636941 instance=ExtResource("3_o2oi4")]
unique_name_in_owner = true
layout_mode = 2
type = 4
[node name="energy" type="PanelContainer" parent="root" unique_id=1886165069]
[node name="energyContainer" type="PanelContainer" parent="root" unique_id=1886165069]
unique_name_in_owner = true
z_index = 1
z_as_relative = false
layout_mode = 1
@@ -195,39 +197,39 @@ grow_horizontal = 2
grow_vertical = 0
theme_override_styles/panel = ExtResource("5_3hym1")
[node name="wrapper" type="VBoxContainer" parent="root/energy" unique_id=1356612647]
[node name="wrapper" type="VBoxContainer" parent="root/energyContainer" unique_id=1356612647]
layout_mode = 2
theme_override_constants/separation = 10
[node name="skills" type="PanelContainer" parent="root/energy/wrapper" unique_id=1694782078]
[node name="skills" type="PanelContainer" parent="root/energyContainer/wrapper" unique_id=1694782078]
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_12otr")
[node name="skillContainer" type="HBoxContainer" parent="root/energy/wrapper/skills" unique_id=51208875]
[node name="skillContainer" type="HBoxContainer" parent="root/energyContainer/wrapper/skills" unique_id=51208875]
unique_name_in_owner = true
layout_mode = 2
theme_override_constants/separation = 10
alignment = 1
[node name="SkillIconBase" parent="root/energy/wrapper/skills/skillContainer" unique_id=1090815103 instance=ExtResource("5_k2y4g")]
[node name="SkillIconBase" parent="root/energyContainer/wrapper/skills/skillContainer" unique_id=1090815103 instance=ExtResource("5_k2y4g")]
layout_mode = 2
[node name="SkillIconBase2" parent="root/energy/wrapper/skills/skillContainer" unique_id=592440106 instance=ExtResource("5_k2y4g")]
[node name="SkillIconBase2" parent="root/energyContainer/wrapper/skills/skillContainer" unique_id=592440106 instance=ExtResource("5_k2y4g")]
layout_mode = 2
[node name="SkillIconBase3" parent="root/energy/wrapper/skills/skillContainer" unique_id=1424612490 instance=ExtResource("5_k2y4g")]
[node name="SkillIconBase3" parent="root/energyContainer/wrapper/skills/skillContainer" unique_id=1424612490 instance=ExtResource("5_k2y4g")]
layout_mode = 2
[node name="container" type="HBoxContainer" parent="root/energy/wrapper" unique_id=1689009576]
[node name="container" type="HBoxContainer" parent="root/energyContainer/wrapper" unique_id=1689009576]
layout_mode = 2
theme_override_constants/separation = 10
alignment = 1
[node name="energy" type="HBoxContainer" parent="root/energy/wrapper/container" unique_id=1568060205]
[node name="energy" type="HBoxContainer" parent="root/energyContainer/wrapper/container" unique_id=1568060205]
layout_mode = 2
alignment = 1
[node name="icon" type="TextureRect" parent="root/energy/wrapper/container/energy" unique_id=920175670]
[node name="icon" type="TextureRect" parent="root/energyContainer/wrapper/container/energy" unique_id=920175670]
custom_minimum_size = Vector2(16, 16)
layout_mode = 2
size_flags_horizontal = 4
@@ -235,7 +237,7 @@ size_flags_vertical = 4
texture = ExtResource("7_2om12")
expand_mode = 1
[node name="percent" parent="root/energy/wrapper/container" unique_id=1940891290 instance=ExtResource("6_oy0yg")]
[node name="percent" parent="root/energyContainer/wrapper/container" unique_id=1940891290 instance=ExtResource("6_oy0yg")]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2