[gd_scene load_steps=8 format=3] [ext_resource type="Script" path="res://Scripts/Game.cs" id="1_4j3d2"] [sub_resource type="Theme" id="Theme_1"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1"] bg_color = Color(0.05, 0.05, 0.07, 0.85) border_width_left = 2 border_width_top = 2 border_width_right = 2 border_width_bottom = 2 border_color = Color(0.2, 0.2, 0.25, 1) content_margin_left = 10 content_margin_top = 10 content_margin_right = 10 content_margin_bottom = 10 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2"] bg_color = Color(0.12, 0.12, 0.14, 1) border_width_left = 1 border_width_top = 1 border_width_right = 1 border_width_bottom = 1 border_color = Color(0.3, 0.3, 0.35, 1) content_margin_left = 10 content_margin_top = 8 content_margin_right = 10 content_margin_bottom = 8 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3"] bg_color = Color(0.18, 0.18, 0.21, 1) border_width_left = 1 border_width_top = 1 border_width_right = 1 border_width_bottom = 1 border_color = Color(0.5, 0.5, 0.55, 1) content_margin_left = 10 content_margin_top = 10 content_margin_right = 10 content_margin_bottom = 10 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4"] bg_color = Color(0.22, 0.22, 0.25, 1) border_width_left = 1 border_width_top = 1 border_width_right = 1 border_width_bottom = 1 border_color = Color(0.7, 0.7, 0.75, 1) content_margin_left = 10 content_margin_top = 10 content_margin_right = 10 content_margin_bottom = 10 [sub_resource type="LabelSettings" id="LabelSettings_1"] font_size = 14 [node name="Main" type="Node2D"] script = ExtResource("1_4j3d2") [node name="World" type="Node2D" parent="."] [node name="Arena" type="Node2D" parent="World"] [node name="Actors" type="Node2D" parent="World"] [node name="Projectiles" type="Node2D" parent="World"] [node name="Pickups" type="Node2D" parent="World"] [node name="Camera2D" type="Camera2D" parent="World"] zoom = Vector2(2, 2) position_smoothing_enabled = true position_smoothing_speed = 8.0 [node name="CanvasLayer" type="CanvasLayer" parent="."] [node name="HUD" type="Control" parent="CanvasLayer"] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 theme = SubResource("Theme_1") [node name="TopBar" type="PanelContainer" parent="CanvasLayer/HUD"] layout_mode = 1 anchors_preset = 10 anchor_right = 1.0 offset_left = 12.0 offset_top = 12.0 offset_right = -12.0 offset_bottom = 48.0 theme_override_styles/panel = SubResource("StyleBoxFlat_2") [node name="HBox" type="HBoxContainer" parent="CanvasLayer/HUD/TopBar"] layout_mode = 2 size_flags_horizontal = 3 [node name="HpLabel" type="Label" parent="CanvasLayer/HUD/TopBar/HBox"] layout_mode = 2 text = "HP: 0/0" label_settings = SubResource("LabelSettings_1") [node name="Spacer1" type="Control" parent="CanvasLayer/HUD/TopBar/HBox"] layout_mode = 2 size_flags_horizontal = 3 [node name="LevelLabel" type="Label" parent="CanvasLayer/HUD/TopBar/HBox"] layout_mode = 2 text = "Lv 1 (0/0)" label_settings = SubResource("LabelSettings_1") [node name="Spacer2" type="Control" parent="CanvasLayer/HUD/TopBar/HBox"] layout_mode = 2 size_flags_horizontal = 3 [node name="CoinLabel" type="Label" parent="CanvasLayer/HUD/TopBar/HBox"] layout_mode = 2 text = "Coin: 0" label_settings = SubResource("LabelSettings_1") [node name="Spacer3" type="Control" parent="CanvasLayer/HUD/TopBar/HBox"] layout_mode = 2 size_flags_horizontal = 3 [node name="WaveLabel" type="Label" parent="CanvasLayer/HUD/TopBar/HBox"] layout_mode = 2 text = "Wave: 1" label_settings = SubResource("LabelSettings_1") [node name="Hint" type="Label" parent="CanvasLayer/HUD"] layout_mode = 1 anchors_preset = 14 anchor_top = 1.0 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 12.0 offset_top = -36.0 offset_right = -12.0 offset_bottom = -12.0 text = "WASD/方向键移动 | 鼠标瞄准 | 左键射击 | Esc暂停" horizontal_alignment = 1 label_settings = SubResource("LabelSettings_1") [node name="PauseOverlay" type="PanelContainer" parent="CanvasLayer/HUD"] visible = false layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 theme_override_styles/panel = SubResource("StyleBoxFlat_1") [node name="PauseVBox" type="VBoxContainer" parent="CanvasLayer/HUD/PauseOverlay"] layout_mode = 2 anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 offset_left = -160.0 offset_top = -70.0 offset_right = 160.0 offset_bottom = 70.0 [node name="PauseTitle" type="Label" parent="CanvasLayer/HUD/PauseOverlay/PauseVBox"] layout_mode = 2 text = "暂停" horizontal_alignment = 1 label_settings = SubResource("LabelSettings_1") [node name="ResumeBtn" type="Button" parent="CanvasLayer/HUD/PauseOverlay/PauseVBox"] layout_mode = 2 text = "继续 (Esc)" [node name="RestartBtn" type="Button" parent="CanvasLayer/HUD/PauseOverlay/PauseVBox"] layout_mode = 2 text = "重新开始" [node name="UpgradeOverlay" type="PanelContainer" parent="CanvasLayer/HUD"] visible = false layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 theme_override_styles/panel = SubResource("StyleBoxFlat_3") [node name="UpgradeVBox" type="VBoxContainer" parent="CanvasLayer/HUD/UpgradeOverlay"] layout_mode = 2 anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 offset_left = -220.0 offset_top = -130.0 offset_right = 220.0 offset_bottom = 130.0 alignment = 1 [node name="UpgradeTitle" type="Label" parent="CanvasLayer/HUD/UpgradeOverlay/UpgradeVBox"] layout_mode = 2 text = "选择一项升级" horizontal_alignment = 1 label_settings = SubResource("LabelSettings_1") [node name="UpgradeBtn1" type="Button" parent="CanvasLayer/HUD/UpgradeOverlay/UpgradeVBox"] layout_mode = 2 text = "Upgrade 1" [node name="UpgradeBtn2" type="Button" parent="CanvasLayer/HUD/UpgradeOverlay/UpgradeVBox"] layout_mode = 2 text = "Upgrade 2" [node name="UpgradeBtn3" type="Button" parent="CanvasLayer/HUD/UpgradeOverlay/UpgradeVBox"] layout_mode = 2 text = "Upgrade 3" [node name="GameOverOverlay" type="PanelContainer" parent="CanvasLayer/HUD"] visible = false layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 theme_override_styles/panel = SubResource("StyleBoxFlat_4") [node name="GameOverVBox" type="VBoxContainer" parent="CanvasLayer/HUD/GameOverOverlay"] layout_mode = 2 anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 offset_left = -180.0 offset_top = -90.0 offset_right = 180.0 offset_bottom = 90.0 alignment = 1 [node name="GameOverTitle" type="Label" parent="CanvasLayer/HUD/GameOverOverlay/GameOverVBox"] layout_mode = 2 text = "你被击毁了" horizontal_alignment = 1 label_settings = SubResource("LabelSettings_1") [node name="GameOverStats" type="Label" parent="CanvasLayer/HUD/GameOverOverlay/GameOverVBox"] layout_mode = 2 text = "Wave: 1 Coin: 0" horizontal_alignment = 1 label_settings = SubResource("LabelSettings_1") [node name="GameOverRestartBtn" type="Button" parent="CanvasLayer/HUD/GameOverOverlay/GameOverVBox"] layout_mode = 2 text = "重新开始"