diff --git a/Scenes/EditorStages/1Stage.tscn b/Scenes/EditorStages/1Stage.tscn index f96122c..c387b04 100644 --- a/Scenes/EditorStages/1Stage.tscn +++ b/Scenes/EditorStages/1Stage.tscn @@ -254,28 +254,6 @@ transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 3, 4) [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_w3m2i") -[node name="Room Lights" type="Node3D" parent="."] - -[node name="OmniLight3D" type="OmniLight3D" parent="Room Lights"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 2.5, 3) -light_color = Color(1, 0.960784, 0.85098, 1) - -[node name="OmniLight3D2" type="OmniLight3D" parent="Room Lights"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 2.5, 3) -light_color = Color(1, 0.960784, 0.85098, 1) - -[node name="OmniLight3D3" type="OmniLight3D" parent="Room Lights"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.5, 3) -light_color = Color(1, 0.960784, 0.85098, 1) - -[node name="OmniLight3D4" type="OmniLight3D" parent="Room Lights"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.86654, 2.5, 0.906235) -light_color = Color(1, 0.960784, 0.85098, 1) - -[node name="OmniLight3D5" type="OmniLight3D" parent="Room Lights"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 2.5, 1) -light_color = Color(1, 0.960784, 0.85098, 1) - [node name="Angle 1" type="Camera3D" parent="."] transform = Transform3D(1, 0, 0, 0, 0.984808, 0.173648, 0, -0.173648, 0.984808, 0, 2.75, 3.5) current = true @@ -296,3 +274,80 @@ fov = 60.0 [node name="Angle 5" type="Camera3D" parent="."] transform = Transform3D(0.965017, -0.0450779, 0.258285, 0, 0.985109, 0.171929, -0.262189, -0.165914, 0.950647, 2, 2.75, 5) fov = 60.0 + +[node name="Room Lights" type="Node3D" parent="."] + +[node name="OmniLight3D" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 4, 3.5, 2) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D2" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -4, 3.5, 2) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D3" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.5, 2) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D4" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 6.86654, 3.5, 1.90623) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D5" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 2) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D6" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 4, 3.5, 11) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D7" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -4, 3.5, 11) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D8" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.5, 11) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D9" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 6.86654, 3.5, 10.9062) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D10" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 11) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D11" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 4, 3.5, 6.5) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D12" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -4, 3.5, 6.5) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D13" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.5, 6.5) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D14" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 6.86654, 3.5, 6.5) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 + +[node name="OmniLight3D15" type="SpotLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 6.5) +light_color = Color(1, 0.960784, 0.85098, 1) +spot_angle = 90.0 diff --git a/Scenes/FreeRoam/Generic/Generic1Stage.tscn b/Scenes/FreeRoam/Generic/Generic1Stage.tscn index bd93e96..080343f 100644 --- a/Scenes/FreeRoam/Generic/Generic1Stage.tscn +++ b/Scenes/FreeRoam/Generic/Generic1Stage.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=20 format=3 uid="uid://b6rem1te85htp"] +[gd_scene load_steps=18 format=3 uid="uid://b6rem1te85htp"] [ext_resource type="PackedScene" uid="uid://ddqduheks5ltu" path="res://Models/FreeRoam/Generic/1StageGenericRoom.glb" id="1_8m4fm"] [ext_resource type="PackedScene" uid="uid://bf4aq55iy3yey" path="res://Models/1Stage/1StageGeneric.glb" id="2_ncqi6"] @@ -14,8 +14,6 @@ [ext_resource type="PackedScene" uid="uid://dm3wfbhs34bkd" path="res://Models/1Stage/1StageGenericOrganLightsOuter.glb" id="12_rs0sv"] [ext_resource type="PackedScene" uid="uid://mvv5sjk3vbtl" path="res://Scenes/Props/HelicopterLight.tscn" id="13_1oq0m"] [ext_resource type="PackedScene" uid="uid://cdk6hwb4hi2wc" path="res://Scripts/Player/player.tscn" id="14_ncqi6"] -[ext_resource type="ArrayMesh" uid="uid://cxetf6uisjlwr" path="res://Models/FreeRoam/Generic/Generic1StageStageCollider.obj" id="15_fdybi"] -[ext_resource type="ArrayMesh" uid="uid://cf4oa43hi1w5t" path="res://Models/FreeRoam/Generic/Generic1StageRoomCollider.obj" id="16_0hrbq"] [sub_resource type="Environment" id="Environment_0tsrs"] ambient_light_source = 1 @@ -39,92 +37,77 @@ environment = SubResource("Environment_0tsrs") [node name="OmniLight3D" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 4, 3.5, 2) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D2" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -4, 3.5, 2) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D3" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.5, 2) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D4" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 6.86654, 3.5, 1.90623) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D5" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 2) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D6" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 4, 3.5, 11) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D7" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -4, 3.5, 11) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D8" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.5, 11) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D9" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 6.86654, 3.5, 10.9062) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D10" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 11) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D11" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 4, 3.5, 6.5) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D12" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -4, 3.5, 6.5) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D13" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.5, 6.5) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D14" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 6.86654, 3.5, 6.5) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="OmniLight3D15" type="SpotLight3D" parent="Room Lights"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 6.5) -light_color = Color(0.709804, 0.67451, 0.623529, 1) -light_energy = 2.0 +light_color = Color(1, 0.960784, 0.85098, 1) spot_angle = 90.0 [node name="StageAssets" type="Node3D" parent="."] @@ -362,18 +345,10 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3) [node name="StageCollider" type="StaticBody3D" parent="."] -[node name="MeshInstance3D" type="MeshInstance3D" parent="StageCollider"] -visible = false -mesh = ExtResource("15_fdybi") - [node name="CollisionShape3D" type="CollisionShape3D" parent="StageCollider"] shape = SubResource("ConcavePolygonShape3D_5nqmm") [node name="RoomCollider" type="StaticBody3D" parent="."] -[node name="MeshInstance3D" type="MeshInstance3D" parent="RoomCollider"] -visible = false -mesh = ExtResource("16_0hrbq") - [node name="CollisionShape3D" type="CollisionShape3D" parent="RoomCollider"] shape = SubResource("ConcavePolygonShape3D_cw8uy") diff --git a/Scenes/GUI/InGameMenu.tscn b/Scenes/GUI/InGameMenu.tscn new file mode 100644 index 0000000..6dfa2e1 --- /dev/null +++ b/Scenes/GUI/InGameMenu.tscn @@ -0,0 +1,87 @@ +[gd_scene load_steps=2 format=3 uid="uid://cd67bfok34xhy"] + +[ext_resource type="Script" uid="uid://pwg37gka2qr4" path="res://Scripts/InGameMenu.gd" id="1_cp535"] + +[node name="InGameMenu" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_cp535") + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.121569, 0.121569, 0.121569, 0.501961) + +[node name="Buttons" type="Panel" parent="."] +layout_mode = 1 +anchors_preset = 2 +anchor_top = 1.0 +anchor_bottom = 1.0 +offset_left = 60.0 +offset_top = -380.0 +offset_right = 324.0 +offset_bottom = -64.0 +grow_vertical = 0 + +[node name="ReturnButton" type="Button" parent="Buttons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 260.0 +offset_bottom = 52.0 +text = "Return to Game" + +[node name="LoadShowButton" type="Button" parent="Buttons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 56.0 +offset_right = 260.0 +offset_bottom = 104.0 +text = "Load Show" + +[node name="CosmeticsButton" type="Button" parent="Buttons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 108.0 +offset_right = 260.0 +offset_bottom = 156.0 +text = "Cosmetics" + +[node name="FlowControlsButton" type="Button" parent="Buttons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 160.0 +offset_right = 260.0 +offset_bottom = 208.0 +text = "Flow Controls" + +[node name="ExitMenuButton" type="Button" parent="Buttons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 212.0 +offset_right = 260.0 +offset_bottom = 260.0 +text = "Exit to Menu" + +[node name="ExitButton" type="Button" parent="Buttons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 264.0 +offset_right = 260.0 +offset_bottom = 312.0 +text = "Exit to Desktop" + +[connection signal="pressed" from="Buttons/ReturnButton" to="." method="_on_return_button_pressed"] +[connection signal="pressed" from="Buttons/LoadShowButton" to="." method="_on_load_show_button_pressed"] +[connection signal="pressed" from="Buttons/CosmeticsButton" to="." method="_on_cosmetics_button_pressed"] +[connection signal="pressed" from="Buttons/FlowControlsButton" to="." method="_on_flow_controls_button_pressed"] +[connection signal="pressed" from="Buttons/ExitMenuButton" to="." method="_on_exit_menu_button_pressed"] +[connection signal="pressed" from="Buttons/ExitButton" to="." method="_on_exit_button_pressed"] diff --git a/Scenes/GUI/MainMenu.tscn b/Scenes/GUI/MainMenu.tscn index 4251610..73da5aa 100644 --- a/Scenes/GUI/MainMenu.tscn +++ b/Scenes/GUI/MainMenu.tscn @@ -113,6 +113,8 @@ offset_left = 4.0 offset_top = 4.0 offset_right = 260.0 offset_bottom = 52.0 +focus_next = NodePath("../FreeRoamButton") +focus_previous = NodePath("../ExitButton") text = "Editor" [node name="FreeRoamButton" type="Button" parent="Buttons"] @@ -121,6 +123,8 @@ offset_left = 4.0 offset_top = 56.0 offset_right = 260.0 offset_bottom = 104.0 +focus_next = NodePath("../ModsButton") +focus_previous = NodePath("../EditorButton") text = "Free Roam " @@ -130,6 +134,8 @@ offset_left = 4.0 offset_top = 108.0 offset_right = 260.0 offset_bottom = 156.0 +focus_next = NodePath("../ControlsButton") +focus_previous = NodePath("../FreeRoamButton") text = "Manage Mods" [node name="ControlsButton" type="Button" parent="Buttons"] @@ -138,6 +144,8 @@ offset_left = 4.0 offset_top = 160.0 offset_right = 260.0 offset_bottom = 208.0 +focus_next = NodePath("../CreditsButton") +focus_previous = NodePath("../ModsButton") text = "Controls" [node name="CreditsButton" type="Button" parent="Buttons"] @@ -146,6 +154,8 @@ offset_left = 4.0 offset_top = 212.0 offset_right = 260.0 offset_bottom = 260.0 +focus_next = NodePath("../ExitButton") +focus_previous = NodePath("../ControlsButton") text = "Credits" [node name="ExitButton" type="Button" parent="Buttons"] @@ -154,6 +164,8 @@ offset_left = 4.0 offset_top = 264.0 offset_right = 260.0 offset_bottom = 312.0 +focus_next = NodePath("../EditorButton") +focus_previous = NodePath("../CreditsButton") text = "Exit to Desktop" [node name="FreeRoamChooseScreen" type="Control" parent="."] diff --git a/Scripts/InGameMenu.gd b/Scripts/InGameMenu.gd new file mode 100644 index 0000000..a4a4115 --- /dev/null +++ b/Scripts/InGameMenu.gd @@ -0,0 +1,27 @@ +extends Control + + +func _on_exit_button_pressed() -> void: + get_tree().quit() + + +func _on_exit_menu_button_pressed() -> void: + get_tree().change_scene_to_file("res://Scenes/GUI/MainMenu.tscn") + + +func _on_flow_controls_button_pressed() -> void: + pass # Replace with function body. + + +func _on_cosmetics_button_pressed() -> void: + pass # Replace with function body. + + +func _on_load_show_button_pressed() -> void: + pass # Replace with function body. + + +func _on_return_button_pressed() -> void: + get_node("../").interact = true + get_node("../").capture_mouse() + visible = false diff --git a/Scripts/InGameMenu.gd.uid b/Scripts/InGameMenu.gd.uid new file mode 100644 index 0000000..2919edc --- /dev/null +++ b/Scripts/InGameMenu.gd.uid @@ -0,0 +1 @@ +uid://pwg37gka2qr4 diff --git a/Scripts/MainMenu.gd b/Scripts/MainMenu.gd index fa1e953..697e266 100644 --- a/Scripts/MainMenu.gd +++ b/Scripts/MainMenu.gd @@ -5,6 +5,7 @@ func _ready(): randomize() $VersionLabel.text = "Pneumatic Plaything v%s" % ProjectSettings.get_setting("application/config/version") $Backgrounds.get_child(randi() % $Backgrounds.get_child_count()).visible = true + $Buttons/EditorButton.grab_focus() var moddir = DirAccess.open("user://Mods") if moddir == null: diff --git a/Scripts/Player/player.gd b/Scripts/Player/player.gd index 3b6c3f9..ac1476c 100644 --- a/Scripts/Player/player.gd +++ b/Scripts/Player/player.gd @@ -11,6 +11,8 @@ var acceleration: float = 100 # m/s^2 var jump_height: float = 1 # m var camera_sens: float = 3 +var interact: bool = true + var jumping: bool = false var crouched: bool = false var running: bool = false @@ -31,36 +33,54 @@ func _ready() -> void: capture_mouse() func _unhandled_input(event: InputEvent) -> void: - if event is InputEventMouseMotion: - look_dir = event.relative * 0.001 - if mouse_captured: _rotate_camera() + if (interact): + if event is InputEventMouseMotion: + look_dir = event.relative * 0.001 + if mouse_captured: _rotate_camera() + if event.is_action_pressed(&"fullscreen"): + if (!DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN): + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN) + else: + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) + elif event.is_action_pressed(&"freeroam_open_menu"): + if (!interact): + interact = true + capture_mouse() + $InGameMenu.visible = false + else: + interact = false + release_mouse() + $InGameMenu.visible = true + $InGameMenu/Buttons/ReturnButton.grab_focus() + pass func _physics_process(delta: float) -> void: - if Input.is_action_just_pressed(&"freeroam_jump"): jumping = true - elif Input.is_action_just_pressed(&"freeroam_crouch"): - $CShape.shape.height = 1.0 - $Camera.position.y = 1.0 - if (running): speed = SPEED_CROUCH_RUN - else: speed = SPEED_CROUCHED - crouched = true - elif Input.is_action_just_released(&"freeroam_crouch"): - $CShape.shape.height = 1.8 - $Camera.position.y = 1.7 - if (running): speed = SPEED_RUNNING - else: speed = SPEED_BASE - crouched = false - elif Input.is_action_just_pressed(&"freeroam_run"): - if (crouched): speed = SPEED_CROUCH_RUN - else: speed = SPEED_RUNNING - running = true - elif Input.is_action_just_released(&"freeroam_run"): - if (crouched): speed = SPEED_CROUCHED - else: speed = SPEED_BASE - running = false - - if mouse_captured: _handle_joypad_camera_rotation(delta) - velocity = _walk(delta) + _gravity(delta) + _jump(delta) - move_and_slide() + if (interact): + if Input.is_action_just_pressed(&"freeroam_jump"): jumping = true + elif Input.is_action_just_pressed(&"freeroam_crouch"): + $CShape.shape.height = 1.0 + $Camera.position.y = 1.0 + if (running): speed = SPEED_CROUCH_RUN + else: speed = SPEED_CROUCHED + crouched = true + elif Input.is_action_just_released(&"freeroam_crouch"): + $CShape.shape.height = 1.8 + $Camera.position.y = 1.7 + if (running): speed = SPEED_RUNNING + else: speed = SPEED_BASE + crouched = false + elif Input.is_action_just_pressed(&"freeroam_run"): + if (crouched): speed = SPEED_CROUCH_RUN + else: speed = SPEED_RUNNING + running = true + elif Input.is_action_just_released(&"freeroam_run"): + if (crouched): speed = SPEED_CROUCHED + else: speed = SPEED_BASE + running = false + + if mouse_captured: _handle_joypad_camera_rotation(delta) + velocity = _walk(delta) + _gravity(delta) + _jump(delta) + move_and_slide() func capture_mouse() -> void: Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) diff --git a/Scripts/Player/player.tscn b/Scripts/Player/player.tscn index 19769de..cdcd389 100644 --- a/Scripts/Player/player.tscn +++ b/Scripts/Player/player.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=3 format=3 uid="uid://cdk6hwb4hi2wc"] +[gd_scene load_steps=4 format=3 uid="uid://cdk6hwb4hi2wc"] [ext_resource type="Script" uid="uid://b0c02p6ckmpdq" path="res://Scripts/Player/player.gd" id="1_2f8j2"] +[ext_resource type="PackedScene" uid="uid://cd67bfok34xhy" path="res://Scenes/GUI/InGameMenu.tscn" id="2_0s4r2"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_3rsb5"] radius = 0.3 @@ -17,3 +18,6 @@ debug_color = Color(0.141176, 0.427451, 0.92549, 0.784314) [node name="Camera" type="Camera3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.7, 0) fov = 80.0 + +[node name="InGameMenu" parent="." instance=ExtResource("2_0s4r2")] +visible = false diff --git a/project.godot b/project.godot index 0b36ecd..a2be3f4 100644 --- a/project.godot +++ b/project.godot @@ -41,6 +41,7 @@ ui_accept={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) ] } ui_select={ @@ -53,11 +54,15 @@ ui_cancel={ } ui_focus_next={ "deadzone": 0.5, -"events": [] +"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":12,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] } ui_focus_prev={ "deadzone": 0.5, -"events": [] +"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":11,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] } ui_left={ "deadzone": 0.5, @@ -151,6 +156,13 @@ ui_text_dedent={ "deadzone": 0.5, "events": [] } +ui_text_backspace={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194308,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194308,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null) +] +} ui_text_backspace_word={ "deadzone": 0.5, "events": [] @@ -311,6 +323,13 @@ ui_menu={ "deadzone": 0.5, "events": [] } +ui_text_submit={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null) +] +} ui_unicode_start={ "deadzone": 0.5, "events": []