From 0d346471a28a1ee9f478f0cb63f71eb9cbe51f2a Mon Sep 17 00:00:00 2001 From: Sara Date: Wed, 23 Jul 2025 15:58:09 +0200 Subject: [PATCH] feat: implemented pause menu --- project/maps/testmap.tscn | 158 ++++++++++++++++++++-------------- project/menus/main_menu.tscn | 2 +- project/menus/pause_menu.tscn | 56 ++++++++++++ project/objects/player.tscn | 1 + 4 files changed, 149 insertions(+), 68 deletions(-) create mode 100644 project/menus/pause_menu.tscn diff --git a/project/maps/testmap.tscn b/project/maps/testmap.tscn index 8e816859..68a9e13a 100644 --- a/project/maps/testmap.tscn +++ b/project/maps/testmap.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=8 format=3 uid="uid://dukbdx7dt2qut"] +[gd_scene load_steps=9 format=3 uid="uid://dukbdx7dt2qut"] [ext_resource type="PackedScene" uid="uid://snjgu4yp5swd" path="res://objects/player.tscn" id="1_6t4yh"] [ext_resource type="Material" uid="uid://b075rlo1f0e4u" path="res://assets/materials/greenish_grid.tres" id="1_ng1ul"] [ext_resource type="PackedScene" uid="uid://5hg5eirw7v8n" path="res://objects/units/unit_4_wretched.tscn" id="3_7ng1a"] +[ext_resource type="PackedScene" uid="uid://bt054d3ic71rf" path="res://menus/pause_menu.tscn" id="4_d7x8f"] [sub_resource type="NavigationMesh" id="NavigationMesh_7ng1a"] vertices = PackedVector3Array(-13.25, 0.24851608, -15, -11.5, 0.24851608, -15.25, -11.75, 0.24851608, -24.5, -24.5, 0.24851608, -24.5, -24.5, 0.24851608, -13.75, -13.25, 0.24851608, -13.5, -2, 0.24851608, -15.25, 2.25, 0.24851608, -15.5, 2.5, 0.24851608, -23.5, 12.25, 0.24851608, -23.5, 12.5, 0.24851608, -24.5, 14, 0.24851608, -23.25, 24.5, 0.24851608, -24.5, 14, 0.24851608, 19.5, 12.25, 0.24851608, 19.75, 12.5, 0.24851608, 24.5, 24.5, 0.24851608, 24.5, 3.25, 6.998516, -22.5, 3.25, 6.998516, 18.75, 13, 6.998516, 18.75, 13, 6.998516, -22.5, 2.25, 0.24851608, 6.75, 3, 0.24851608, 6.5, 3, 0.24851608, 6.25, 2.25, 0.24851608, 6, -1.5, 0.24851608, 5.25, -1.5, 0.24851608, 6, -1.5, 0.24851608, 11.25, 2.25, 0.24851608, 11.75, 2.25, 0.24851608, -8.75, 3, 0.24851608, -9, 3, 0.24851608, -9.25, 2.25, 0.24851608, -9.5, -1.5, 0.24851608, -10, -1.5, 0.24851608, -9.25, -1.5, 0.24851608, -15, -2.5, 0.24851608, -9.75, -2.5, 0.24851608, -9.5, -2.5, 0.24851608, 5.5, -2.5, 0.24851608, 5.75, -2, 0.24851608, 11.5, -12.25, 6.998516, -14.25, -12.25, 6.998516, 10.5, -2.5, 6.998516, 10.5, -2.5, 6.998516, -14.25, -24.5, 0.24851608, 10, -13.25, 0.24851608, 9.75, -10.75, 0.24851608, -6.5, -10.5, 0.24851608, -6.5, -10.25, 0.24851608, -7.25, -11, 0.24851608, -7.25, -3.25, 0.24851608, -10, -3.25, 0.24851608, -9.25, -11.75, 0.24851608, -13.5, -3.25, 0.24851608, -13.5, -3.25, 0.24851608, -7.25, -11.75, 0.24851608, -7.25, -11.75, 3.498516, -9.5, -12.25, 3.498516, -9, -11.75, 3.498516, -8.75, -10.75, 3.498516, -6.5, -10.5, 3.498516, -6.5, -10.25, 3.498516, -7.25, -11, 3.498516, -7.25, -11.75, 3.498516, -13.5, -3.25, 3.498516, -7.25, -3.25, 3.498516, -13.5, -11.75, 3.498516, -7.25, 3.75, 0.24851608, -8.75, 3.75, 0.24851608, -9.5, 3.75, 0.24851608, -13.25, 6, 0.24851608, -7, 12.5, 0.24851608, -7, 12.5, 0.24851608, -13.25, 5.25, 0.24851608, -7, 5.5, 0.24851608, -6.25, 5.75, 0.24851608, -6.25, 3.75, 0.24851608, -7, 5.5, 3.498516, -6.25, 5.75, 3.498516, -6.25, 6, 3.498516, -7, 5.25, 3.498516, -7, 12.5, 3.498516, -7, 12, 3.498516, -10.25, 7.75, 3.498516, -10.25, 12.5, 3.498516, -13.25, 7.5, 3.498516, -13.25, 3.75, 3.498516, -13.25, 3.75, 3.498516, -7, -10.25, 0.24851608, -6, -11, 0.24851608, -6, -11.75, 0.24851608, 2, -4.5, 0.24851608, 2, -3.25, 0.24851608, 2, -3.25, 0.24851608, -6, -5.25, 0.24851608, 2, -5, 0.24851608, 2.75, -4.75, 0.24851608, 2.75, -11.75, 0.24851608, -6, -10.25, 3.498516, -6, -11, 3.498516, -6, -11.75, 3.498516, 2, -4.5, 3.498516, 2, -3.25, 3.498516, 2, -3.25, 3.498516, -6, -5.25, 3.498516, 2, -5, 3.498516, 2.75, -4.75, 3.498516, 2.75, -11.75, 3.498516, -6, 11, 0.24851608, 2.5, 11.25, 0.24851608, 3.25, 11.5, 0.24851608, 3.25, 11.75, 0.24851608, 2.5, 12.5, 0.24851608, -5.5, 6, 0.24851608, -5.5, 3.75, 0.24851608, 2.5, 5.25, 0.24851608, -5.5, 3.75, 0.24851608, -5.5, 12.5, 0.24851608, 2.5, 10.75, 3.498516, 2.5, 11, 3.498516, 3.25, 11.25, 3.498516, 3.25, 11.5, 3.498516, 2.5, 12.5, 3.498516, -5.5, 6, 3.498516, -5.5, 3.75, 3.498516, 2.5, 5.25, 3.498516, -5.5, 3.75, 3.498516, -5.5, 12.5, 3.498516, 2.5, -3.25, 0.24851608, 5.25, -3.25, 0.24851608, 6, -4.5, 0.24851608, 3.75, -5.25, 0.24851608, 3.75, -3.25, 0.24851608, 10, -11.75, 0.24851608, 3.75, -11.75, 0.24851608, 10, -3.25, 0.24851608, 3.75, -5.25, 3.498516, 3.75, -4.5, 3.498516, 3.75, -11.75, 3.498516, 3.75, -11.75, 3.498516, 7.25, -7, 3.498516, 7, -6.75, 3.498516, 10, -3.25, 3.498516, 10, -3.25, 3.498516, 3.75, 12.5, 3.498516, 6, 13, 3.498516, 5.5, 12.5, 3.498516, 5.25, 10.75, 3.498516, 4, 11.5, 3.498516, 4, 12.5, 3.498516, 10.25, 3.75, 3.498516, 4, 3.75, 3.498516, 10.25, 12.5, 3.498516, 4, 3.75, 0.24851608, 6, 3.75, 0.24851608, 6.75, 11, 0.24851608, 4, 12.5, 0.24851608, 10.25, 11.75, 0.24851608, 4, 3.75, 0.24851608, 10.25, 3.75, 0.24851608, 4, 12.5, 0.24851608, 4, -13, 0.24851608, 11.5, -11, 0.24851608, 24.5, -11, 0.24851608, 11.5, -24.5, 0.24851608, 24.5, 3.75, 0.24851608, 24.5, 4, 0.24851608, 19.75, 2.25, 0.24851608, 19.5) @@ -22,403 +23,426 @@ sky = SubResource("Sky_7ng1a") tonemap_mode = 2 glow_enabled = true -[node name="Testmap" type="Node3D"] +[node name="Testmap" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 -[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."] +[node name="SubViewportContainer" type="SubViewportContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +stretch = true + +[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"] +handle_input_locally = false +size = Vector2i(1152, 648) +render_target_update_mode = 4 + +[node name="NavigationRegion3D" type="NavigationRegion3D" parent="SubViewportContainer/SubViewport"] navigation_mesh = SubResource("NavigationMesh_7ng1a") -[node name="CSGCombiner3D" type="CSGCombiner3D" parent="NavigationRegion3D"] +[node name="CSGCombiner3D" type="CSGCombiner3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D"] use_collision = true collision_layer = 3 collision_mask = 0 -[node name="CSGBox3D2" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D2" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.424776, 3.1962457, -1.9109192) use_collision = true size = Vector3(10.441, 6.9678183, 25.399109) material = ExtResource("1_ng1ul") -[node name="CSGBox3D27" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D27" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.086981, 3.13319, -1.86438) use_collision = true size = Vector3(10.441, 7.09393, 42.19336) material = ExtResource("1_ng1ul") -[node name="CSGBox3D3" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D3" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.4455757, 1.13, 6.77715) operation = 2 use_collision = true size = Vector3(9.8421, 3.074, 7.48355) material = ExtResource("1_ng1ul") -[node name="CSGBox3D5" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D5" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.4455757, 1.13, -1.92168) operation = 2 use_collision = true size = Vector3(9.8421, 3.074, 9.25056) material = ExtResource("1_ng1ul") -[node name="CSGBox3D6" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D6" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.4455757, 1.13, -10.4467) operation = 2 use_collision = true size = Vector3(9.8421, 3.074, 7.48355) material = ExtResource("1_ng1ul") -[node name="CSGBox3D10" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D10" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.4455757, 4.73767, 6.77715) operation = 2 use_collision = true size = Vector3(9.8421, 3.074, 7.48355) material = ExtResource("1_ng1ul") -[node name="CSGBox3D11" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D11" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.4455757, 4.73767, -1.92168) operation = 2 use_collision = true size = Vector3(9.8421, 3.074, 9.25056) material = ExtResource("1_ng1ul") -[node name="CSGBox3D12" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D12" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.4455757, 4.73767, -10.4467) operation = 2 use_collision = true size = Vector3(9.8421, 3.074, 7.48355) material = ExtResource("1_ng1ul") -[node name="CSGBox3D4" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D4" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4902663, 1.1058564, 5.73304) operation = 2 use_collision = true size = Vector3(1.504, 2.286, 1.504) material = ExtResource("1_ng1ul") -[node name="CSGBox3D19" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D19" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.243476, 3.00782, 8.93745) operation = 2 use_collision = true size = Vector3(4.11031, 1.01367, 3.05259) material = ExtResource("1_ng1ul") -[node name="CSGBox3D13" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D13" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5141263, 5.15978, 8.92892) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D14" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D14" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5141263, 5.15978, 5.36833) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 3.01134) material = ExtResource("1_ng1ul") -[node name="CSGBox3D17" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D17" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5141263, 5.15978, -4.15471) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D20" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D20" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5141263, 1.63843, -12.371) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D21" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D21" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5141263, 1.63843, -3.73614) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D23" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D23" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5141263, 1.63843, 0.557484) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D22" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D22" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5141263, 1.63843, 8.83479) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D18" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D18" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5141263, 5.15978, -8.38057) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D15" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D15" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5141263, 5.15978, -0.349048) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 3.46446) material = ExtResource("1_ng1ul") -[node name="CSGBox3D16" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D16" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5141263, 5.15978, -11.8593) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 3.46446) material = ExtResource("1_ng1ul") -[node name="CSGBox3D7" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D7" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1833963, 0.843177, -9.61435) operation = 2 use_collision = true size = Vector3(1.20117, 2.81146, 1.43037) material = ExtResource("1_ng1ul") -[node name="CSGBox3D8" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D8" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -10.658076, 0.843177, -6.9353) operation = 2 use_collision = true size = Vector3(1.71875, 2.81146, 1.43037) material = ExtResource("1_ng1ul") -[node name="CSGBox3D9" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D9" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -4.9493265, 1.11953, 3.07464) operation = 2 use_collision = true size = Vector3(1.43066, 2.25876, 1.43037) material = ExtResource("1_ng1ul") -[node name="CSGBox3D24" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D24" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -4.9493265, 4.34085, 3.07464) operation = 2 use_collision = true size = Vector3(1.504, 2.259, 1.504) material = ExtResource("1_ng1ul") -[node name="CSGBox3D26" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D26" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, -8.742279e-08, 0, 1, 0, 8.742279e-08, 0, -1, -12.553127, 4.340849, -9.004332) operation = 2 use_collision = true size = Vector3(1.504, 2.259, 1.504) material = ExtResource("1_ng1ul") -[node name="CSGBox3D25" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D25" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -10.515276, 4.34085, -6.63972) operation = 2 use_collision = true size = Vector3(1.504, 2.259, 1.504) material = ExtResource("1_ng1ul") -[node name="CSGBox3D28" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D28" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 8.115168, 1.13, -10.086953) operation = 2 use_collision = true size = Vector3(9.8421, 3.074, 7.48355) material = ExtResource("1_ng1ul") -[node name="CSGBox3D29" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D29" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 8.115167, 1.13, -1.3881226) operation = 2 use_collision = true size = Vector3(9.8421, 3.074, 9.25056) material = ExtResource("1_ng1ul") -[node name="CSGBox3D30" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D30" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 8.115166, 1.13, 7.136897) operation = 2 use_collision = true size = Vector3(9.8421, 3.074, 7.48355) material = ExtResource("1_ng1ul") -[node name="CSGBox3D31" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D31" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 8.115168, 4.73767, -10.086953) operation = 2 use_collision = true size = Vector3(9.8421, 3.074, 7.48355) material = ExtResource("1_ng1ul") -[node name="CSGBox3D32" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D32" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 8.115167, 4.73767, -1.3881226) operation = 2 use_collision = true size = Vector3(9.8421, 3.074, 9.25056) material = ExtResource("1_ng1ul") -[node name="CSGBox3D33" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D33" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 8.115166, 4.73767, 7.136897) operation = 2 use_collision = true size = Vector3(9.8421, 3.074, 7.48355) material = ExtResource("1_ng1ul") -[node name="CSGBox3D34" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D34" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3.1598587, 0.8431771, -9.042843) operation = 2 use_collision = true size = Vector3(1.5039063, 2.81146, 1.43037) material = ExtResource("1_ng1ul") -[node name="CSGBox3D35" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D35" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 9.913068, 3.00782, -12.247253) operation = 2 use_collision = true size = Vector3(4.11031, 1.01367, 3.05259) material = ExtResource("1_ng1ul") -[node name="CSGBox3D36" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D36" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3.1837177, 5.15978, -12.238723) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D37" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D37" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3.1837177, 5.15978, -8.678133) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 3.01134) material = ExtResource("1_ng1ul") -[node name="CSGBox3D38" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D38" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3.1837168, 5.15978, 0.8449067) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D39" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D39" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3.1837158, 1.63843, 9.061197) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D40" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D40" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3.1837168, 1.63843, 0.42633712) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D41" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D41" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3.1837168, 1.63843, -3.8672872) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D42" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D42" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3.1837177, 1.63843, -12.144593) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D43" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D43" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3.1837163, 5.15978, 5.070767) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 1.75998) material = ExtResource("1_ng1ul") -[node name="CSGBox3D44" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D44" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3.1837168, 5.15978, -2.9607549) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 3.46446) material = ExtResource("1_ng1ul") -[node name="CSGBox3D45" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D45" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3.1837158, 5.15978, 8.549497) operation = 2 use_collision = true size = Vector3(1.64708, 1.47165, 3.46446) material = ExtResource("1_ng1ul") -[node name="CSGBox3D46" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D46" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 2.8529863, 0.8431771, 6.304547) operation = 2 use_collision = true size = Vector3(1.20117, 2.81146, 1.43037) material = ExtResource("1_ng1ul") -[node name="CSGBox3D47" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D47" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-4.3711378e-08, 0, -1, 0, 1, 0, 1, 0, -4.3711378e-08, 11.327666, 0.8431771, 3.6254973) operation = 2 use_collision = true size = Vector3(1.71875, 2.81146, 1.43037) material = ExtResource("1_ng1ul") -[node name="CSGBox3D48" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D48" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-4.3711378e-08, 0, -1, 0, 1, 0, 1, 0, -4.3711378e-08, 5.6189175, 1.11953, -6.384443) operation = 2 use_collision = true size = Vector3(1.43066, 2.25876, 1.43037) material = ExtResource("1_ng1ul") -[node name="CSGBox3D49" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D49" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-4.3711378e-08, 0, -1, 0, 1, 0, 1, 0, -4.3711378e-08, 5.6189175, 4.34085, -6.384443) operation = 2 use_collision = true size = Vector3(1.504, 2.25876, 1.504) material = ExtResource("1_ng1ul") -[node name="CSGBox3D50" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D50" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 1.4210855e-14, 0, 1, 0, -1.4210855e-14, 0, 1, 13.222718, 4.340849, 5.694529) operation = 2 use_collision = true size = Vector3(1.43066, 2.25876, 1.43037) material = ExtResource("1_ng1ul") -[node name="CSGBox3D51" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="CSGBox3D51" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(-4.3711378e-08, 0, -1, 0, 1, 0, 1, 0, -4.3711378e-08, 11.184867, 4.34085, 3.3299174) operation = 2 use_collision = true size = Vector3(1.504, 2.25876, 1.504) material = ExtResource("1_ng1ul") -[node name="floor" type="CSGBox3D" parent="NavigationRegion3D/CSGCombiner3D"] +[node name="floor" type="CSGBox3D" parent="SubViewportContainer/SubViewport/NavigationRegion3D/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.501484, 0) use_collision = true size = Vector3(50, 1, 50) material = ExtResource("1_ng1ul") -[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +[node name="WorldEnvironment" type="WorldEnvironment" parent="SubViewportContainer/SubViewport"] environment = SubResource("Environment_d7x8f") -[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] -transform = Transform3D(-0.866023, -0.433016, 0.250001, 0, 0.499998, 0.866027, -0.500003, 0.749999, -0.43301, 0, 0, 0) +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="SubViewportContainer/SubViewport"] +transform = Transform3D(-0.86602354, -0.43301606, 0.25000072, 0, 0.49999818, 0.86602646, -0.5000033, 0.7499993, -0.4330102, 0, 0, 0) shadow_enabled = true -[node name="PlayerBody" parent="." instance=ExtResource("1_6t4yh")] +[node name="PlayerBody" parent="SubViewportContainer/SubViewport" instance=ExtResource("1_6t4yh")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.039836764, -0.0014820099, 0.5135803) slide_on_ceiling = false -[node name="PatrolPath" type="PatrolPath" parent="."] +[node name="PatrolPath" type="PatrolPath" parent="SubViewportContainer/SubViewport"] -[node name="Node3D2" type="Node3D" parent="PatrolPath"] +[node name="Node3D2" type="Node3D" parent="SubViewportContainer/SubViewport/PatrolPath"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.22090006, -0.0014848709, 13.670816) -[node name="Node3D3" type="Node3D" parent="PatrolPath"] +[node name="Node3D3" type="Node3D" parent="SubViewportContainer/SubViewport/PatrolPath"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.028711, -0.0014829636, 13.4481535) -[node name="Node3D4" type="Node3D" parent="PatrolPath"] +[node name="Node3D4" type="Node3D" parent="SubViewportContainer/SubViewport/PatrolPath"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.351397, -0.0014858246, -15.786919) -[node name="Node3D5" type="Node3D" parent="PatrolPath"] +[node name="Node3D5" type="Node3D" parent="SubViewportContainer/SubViewport/PatrolPath"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.44426918, -0.0014839172, -16.707285) -[node name="NpcUnit" parent="." node_paths=PackedStringArray("patrol_path") instance=ExtResource("3_7ng1a")] +[node name="NpcUnit" parent="SubViewportContainer/SubViewport" node_paths=PackedStringArray("patrol_path") instance=ExtResource("3_7ng1a")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.6569076, -9.536743e-07, 13.002816) patrol_path = NodePath("../PatrolPath") -[node name="NpcUnit2" parent="." node_paths=PackedStringArray("patrol_path") instance=ExtResource("3_7ng1a")] +[node name="NpcUnit2" parent="SubViewportContainer/SubViewport" node_paths=PackedStringArray("patrol_path") instance=ExtResource("3_7ng1a")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.306059, 9.536743e-07, -5.424572) patrol_path = NodePath("../PatrolPath") -[node name="NpcUnit3" parent="." node_paths=PackedStringArray("patrol_path") instance=ExtResource("3_7ng1a")] +[node name="NpcUnit3" parent="SubViewportContainer/SubViewport" node_paths=PackedStringArray("patrol_path") instance=ExtResource("3_7ng1a")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.691285, 9.536743e-07, -16.904852) patrol_path = NodePath("../PatrolPath") + +[node name="PauseMenu" parent="." instance=ExtResource("4_d7x8f")] +layout_mode = 1 diff --git a/project/menus/main_menu.tscn b/project/menus/main_menu.tscn index 7afdd642..bd48521e 100644 --- a/project/menus/main_menu.tscn +++ b/project/menus/main_menu.tscn @@ -6,7 +6,7 @@ script/source = "extends Control @onready var next_scene := preload(\"res://maps/testmap.tscn\") func _on_start_button_pressed() -> void: - get_tree().change_scene_to_packed(next_scene) + get_tree().change_scene_to_packed.call_deferred(next_scene) " [node name="MainMenu" type="Control"] diff --git a/project/menus/pause_menu.tscn b/project/menus/pause_menu.tscn new file mode 100644 index 00000000..aba7627a --- /dev/null +++ b/project/menus/pause_menu.tscn @@ -0,0 +1,56 @@ +[gd_scene load_steps=2 format=3 uid="uid://bt054d3ic71rf"] + +[sub_resource type="GDScript" id="GDScript_7ng1a"] +script/source = "extends CenterContainer + +var is_open := false + +func toggle_open(): + set_open(!is_open) + +func set_open(val: bool): + is_open = val + visible = is_open + get_tree().paused = is_open + if is_open: + Input.mouse_mode = Input.MOUSE_MODE_VISIBLE + mouse_filter = Control.MOUSE_FILTER_IGNORE + else: + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + mouse_filter = Control.MOUSE_FILTER_PASS + +func _enter_tree(): + set_open(false) + +func _unhandled_input(event: InputEvent) -> void: + if event.is_action_pressed(\"open_menu\"): + set_open(!is_open) + + +func _on_main_menu_pressed() -> void: + get_tree().paused = false + get_tree().change_scene_to_file.call_deferred(\"res://menus/main_menu.tscn\") +" + +[node name="PauseMenu" type="CenterContainer"] +process_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = SubResource("GDScript_7ng1a") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 2 + +[node name="Resume" type="Button" parent="VBoxContainer"] +layout_mode = 2 +text = "Resume" + +[node name="Main Menu" type="Button" parent="VBoxContainer"] +layout_mode = 2 +text = "Main Menu" + +[connection signal="pressed" from="VBoxContainer/Resume" to="." method="toggle_open"] +[connection signal="pressed" from="VBoxContainer/Main Menu" to="." method="_on_main_menu_pressed"] diff --git a/project/objects/player.tscn b/project/objects/player.tscn index aea2d924..331fa756 100644 --- a/project/objects/player.tscn +++ b/project/objects/player.tscn @@ -27,6 +27,7 @@ fov = 60.0 [node name="PlayerInput" type="PlayerInput" parent="."] unique_name_in_owner = true +process_mode = 3 [node name="WeaponInventory" type="WeaponInventory" parent="."] unique_name_in_owner = true