#
extends Node
-var scenes: Dictionary = {"Credits":{"sections":["Scenes"],"settings":{"All":{"subsection":"","visibility":true},"Scenes":{"subsection":"","visibility":true}},"value":"res://menus/credits/Credits.tscn"},"MainMenu":{"sections":["Scenes"],"settings":{"All":{"subsection":"","visibility":true},"Scenes":{"subsection":"","visibility":true}},"value":"res://menus/main_menu/MainMenu.tscn"},"Player":{"sections":[],"settings":{"All":{"subsection":"","visibility":false}},"value":"res://player/Player.tscn"},"SettingsMenu":{"sections":["Scenes"],"settings":{"All":{"subsection":"","visibility":true},"Scenes":{"subsection":"","visibility":true}},"value":"res://menus/settings_menu/SettingsMenu.tscn"},"_ignore_list":["res://addons","res://assets","res://game_settings"],"_sections":["Scenes","Loading Scenes"],"test_debug_msg":{"sections":[],"settings":{"All":{"subsection":"","visibility":true}},"value":"res://examples/test/test.tscn"},"unicorn_map":{"sections":["Scenes"],"settings":{"All":{"subsection":"","visibility":true},"Scenes":{"subsection":"","visibility":true}},"value":"res://levels/unicorn_level/unicorn_map.tscn"}}
+var scenes: Dictionary = {"Credits":{"sections":["Scenes"],"settings":{"All":{"subsection":"","visibility":true},"Scenes":{"subsection":"","visibility":true}},"value":"res://menus/credits/Credits.tscn"},"MainMenu":{"sections":["Scenes"],"settings":{"All":{"subsection":"","visibility":true},"Scenes":{"subsection":"","visibility":true}},"value":"res://menus/main_menu/MainMenu.tscn"},"Player":{"sections":[],"settings":{"All":{"subsection":"","visibility":false}},"value":"res://player/Player.tscn"},"SettingsMenu":{"sections":["Scenes"],"settings":{"All":{"subsection":"","visibility":true},"Scenes":{"subsection":"","visibility":true}},"value":"res://menus/settings_menu/SettingsMenu.tscn"},"_ignore_list":["res://addons","res://assets","res://game_settings"],"_sections":["Scenes","Loading Scenes"],"pause":{"sections":[],"settings":{"All":{"subsection":"","visibility":false}},"value":"res://menus/pause/pause.tscn"},"test_debug_msg":{"sections":[],"settings":{"All":{"subsection":"","visibility":true}},"value":"res://examples/test/test.tscn"},"unicorn_map":{"sections":["Scenes"],"settings":{"All":{"subsection":"","visibility":true},"Scenes":{"subsection":"","visibility":true}},"value":"res://levels/unicorn_level/unicorn_map.tscn"}}
-[gd_scene load_steps=10 format=3 uid="uid://t5uneae6abmn"]
+[gd_scene load_steps=11 format=3 uid="uid://t5uneae6abmn"]
[ext_resource type="PackedScene" uid="uid://bpuiyd81j8177" path="res://assets/Farola.glb" id="1_naw6w"]
[ext_resource type="PackedScene" uid="uid://1mmjp4ugn7kk" path="res://player/Player.tscn" id="1_yhk1e"]
[ext_resource type="Shader" path="res://shaders/screen_shaders.gdshader" id="2_nguig"]
[ext_resource type="MeshLibrary" uid="uid://didmc6xrsyrne" path="res://assets/plain_tiles.tres" id="3_g2il3"]
[ext_resource type="PackedScene" uid="uid://cggqb75a8w8r" path="res://addons/debug_menu/debug_menu.tscn" id="3_s7w0p"]
+[ext_resource type="PackedScene" uid="uid://cvx5mhciymsr2" path="res://menus/pause/Pause.tscn" id="5_ovgcu"]
[sub_resource type="BoxShape3D" id="BoxShape3D_s6l2r"]
size = Vector3(100, 6, 100)
grow_horizontal = 2
grow_vertical = 2
+[node name="Pause" parent="." instance=ExtResource("5_ovgcu")]
+visible = false
+
[node name="DebugMenu" parent="." node_paths=PackedStringArray("fps", "frame_time", "frame_number", "frame_history_total_avg", "frame_history_total_min", "frame_history_total_max", "frame_history_total_last", "frame_history_cpu_avg", "frame_history_cpu_min", "frame_history_cpu_max", "frame_history_cpu_last", "frame_history_gpu_avg", "frame_history_gpu_min", "frame_history_gpu_max", "frame_history_gpu_last", "fps_graph", "total_graph", "cpu_graph", "gpu_graph", "information", "settings") instance=ExtResource("3_s7w0p")]
visible = false
fps = NodePath("DebugMenu/VBoxContainer/FPS")
# Called when the node enters the scene tree for the first time.
func _ready():
+ SceneManager.process_mode = Node.PROCESS_MODE_ALWAYS
SceneManager.validate_scene(playBtnSscene)
SceneManager.validate_scene(settingsBtnScene)
SceneManager.validate_scene(creditsBtnScene)
--- /dev/null
+extends Control
+
+@export var settingsBtnScene : String
+@export var exitBtnScene : String
+
+@onready var fade_out_options = SceneManager.create_options()
+@onready var fade_in_options = SceneManager.create_options()
+@onready var general_options = SceneManager.create_general_options()
+
+func _init():
+ SceneManager.validate_scene(settingsBtnScene)
+ SceneManager.validate_scene(exitBtnScene)
+
+func _input(event):
+ if event.is_action_pressed("ui_cancel"):
+ get_tree().paused = true
+ Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
+ show()
+
+
+func _on_unpause_button_pressed():
+ hide()
+ Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
+ get_tree().paused = false
+
+
+func _on_settings_button_pressed():
+ SceneManager.change_scene(settingsBtnScene, fade_out_options, fade_in_options, general_options)
+
+
+func _on_exit_button_pressed():
+ get_tree().paused = false
+ SceneManager.change_scene(exitBtnScene, fade_out_options, fade_in_options, general_options)
--- /dev/null
+[gd_scene load_steps=2 format=3 uid="uid://cvx5mhciymsr2"]
+
+[ext_resource type="Script" path="res://menus/pause/Pause.gd" id="1_b3njo"]
+
+[node name="Pause" 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_b3njo")
+settingsBtnScene = "SettingsMenu"
+exitBtnScene = "MainMenu"
+
+[node name="ColorRect" type="ColorRect" parent="."]
+process_mode = 2
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0, 0, 0, 0.686275)
+
+[node name="CenterContainer" type="CenterContainer" parent="."]
+process_mode = 2
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer"]
+layout_mode = 2
+
+[node name="MarginContainer" type="MarginContainer" parent="CenterContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_constants/margin_left = 16
+theme_override_constants/margin_top = 16
+theme_override_constants/margin_right = 16
+theme_override_constants/margin_bottom = 16
+
+[node name="Label" type="Label" parent="CenterContainer/VBoxContainer/MarginContainer"]
+layout_mode = 2
+text = "PAUSE"
+horizontal_alignment = 1
+vertical_alignment = 1
+
+[node name="MarginContainer2" type="MarginContainer" parent="CenterContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_constants/margin_left = 16
+theme_override_constants/margin_top = 8
+theme_override_constants/margin_right = 16
+theme_override_constants/margin_bottom = 8
+
+[node name="UnpauseButton" type="Button" parent="CenterContainer/VBoxContainer/MarginContainer2"]
+layout_mode = 2
+text = "Return to Game"
+
+[node name="MarginContainer3" type="MarginContainer" parent="CenterContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_constants/margin_left = 16
+theme_override_constants/margin_top = 8
+theme_override_constants/margin_right = 16
+theme_override_constants/margin_bottom = 8
+
+[node name="SettingsButton" type="Button" parent="CenterContainer/VBoxContainer/MarginContainer3"]
+layout_mode = 2
+text = "Settings"
+
+[node name="MarginContainer4" type="MarginContainer" parent="CenterContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_constants/margin_left = 16
+theme_override_constants/margin_top = 8
+theme_override_constants/margin_right = 16
+theme_override_constants/margin_bottom = 64
+
+[node name="ExitButton" type="Button" parent="CenterContainer/VBoxContainer/MarginContainer4"]
+layout_mode = 2
+text = "Exit"
+
+[connection signal="pressed" from="CenterContainer/VBoxContainer/MarginContainer2/UnpauseButton" to="." method="_on_unpause_button_pressed"]
+[connection signal="pressed" from="CenterContainer/VBoxContainer/MarginContainer3/SettingsButton" to="." method="_on_settings_button_pressed"]
+[connection signal="pressed" from="CenterContainer/VBoxContainer/MarginContainer4/ExitButton" to="." method="_on_exit_button_pressed"]