Added pause menu
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://cfb2adf5hft7b" path="res://sound/ui/select.wav" id="4_0i6kl"]
|
[ext_resource type="AudioStream" uid="uid://cfb2adf5hft7b" path="res://sound/ui/select.wav" id="4_0i6kl"]
|
||||||
|
|
||||||
[node name="SoundManager" type="Node" unique_id=1576371552]
|
[node name="SoundManager" type="Node" unique_id=1576371552]
|
||||||
|
process_mode = 3
|
||||||
script = ExtResource("1_cg0sy")
|
script = ExtResource("1_cg0sy")
|
||||||
player_count_ui = 8
|
player_count_ui = 8
|
||||||
player_count_sfx = 32
|
player_count_sfx = 32
|
||||||
|
|||||||
@@ -0,0 +1,53 @@
|
|||||||
|
class_name PauseMenu
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
|
||||||
|
@onready var continue_button : Button = $%ContinueButton
|
||||||
|
@onready var main_menu_button : Button = $%MainMenuButton
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
_init_focus()
|
||||||
|
_setup_neighbors()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_gui_focus_changed(_node: Control) -> void:
|
||||||
|
SoundManager.play_ui_stream(SoundManager.ui_stream_select)
|
||||||
|
|
||||||
|
|
||||||
|
func _input(event: InputEvent) -> void:
|
||||||
|
if not visible: return
|
||||||
|
|
||||||
|
if event.is_action_pressed("pause"):
|
||||||
|
_on_continue_button_pressed.call_deferred()
|
||||||
|
|
||||||
|
|
||||||
|
func _init_focus() -> void:
|
||||||
|
continue_button.grab_focus()
|
||||||
|
|
||||||
|
|
||||||
|
func _setup_neighbors() -> void:
|
||||||
|
continue_button.focus_neighbor_top = main_menu_button.get_path()
|
||||||
|
main_menu_button.focus_neighbor_bottom = continue_button.get_path()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_continue_button_pressed() -> void:
|
||||||
|
SoundManager.play_ui_stream(SoundManager.ui_stream_decline)
|
||||||
|
get_tree().paused = false
|
||||||
|
hide()
|
||||||
|
Input.mouse_mode = Input.MOUSE_MODE_HIDDEN
|
||||||
|
|
||||||
|
|
||||||
|
func _on_main_menu_button_pressed() -> void:
|
||||||
|
SoundManager.play_ui_stream(SoundManager.ui_stream_accept)
|
||||||
|
get_tree().paused = false
|
||||||
|
get_tree().change_scene_to_file("res://game/menu/main_menu.tscn")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_visibility_changed() -> void:
|
||||||
|
if not is_node_ready(): return
|
||||||
|
if visible:
|
||||||
|
continue_button.grab_focus()
|
||||||
|
get_viewport().gui_focus_changed.connect(_on_gui_focus_changed)
|
||||||
|
elif get_viewport().gui_focus_changed.is_connected(_on_gui_focus_changed):
|
||||||
|
get_viewport().gui_focus_changed.disconnect(_on_gui_focus_changed)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://b45v44jhm26oj
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
[gd_scene format=3 uid="uid://0e3xvmn36j5b"]
|
||||||
|
|
||||||
|
[ext_resource type="Theme" uid="uid://bqj884yfvhhft" path="res://game/themes/main_menu.tres" id="1_i4rg2"]
|
||||||
|
[ext_resource type="Script" uid="uid://b45v44jhm26oj" path="res://game/menu/pause_menu.gd" id="2_e1jsn"]
|
||||||
|
|
||||||
|
[node name="PauseMenu" type="Control" unique_id=1815975678]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme = ExtResource("1_i4rg2")
|
||||||
|
script = ExtResource("2_e1jsn")
|
||||||
|
|
||||||
|
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=2013458760]
|
||||||
|
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="MarginContainer" unique_id=25712220]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="ContinueButton" type="Button" parent="MarginContainer/VBoxContainer" unique_id=220798833]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
text = "CONTINUE"
|
||||||
|
|
||||||
|
[node name="MainMenuButton" type="Button" parent="MarginContainer/VBoxContainer" unique_id=349343230]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
text = "MAIN MENU"
|
||||||
|
|
||||||
|
[connection signal="pressed" from="MarginContainer/VBoxContainer/ContinueButton" to="." method="_on_continue_button_pressed"]
|
||||||
|
[connection signal="pressed" from="MarginContainer/VBoxContainer/MainMenuButton" to="." method="_on_main_menu_button_pressed"]
|
||||||
@@ -106,6 +106,12 @@ attack={
|
|||||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null)
|
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
pause={
|
||||||
|
"deadzone": 0.2,
|
||||||
|
"events": [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":4194305,"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)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
[physics]
|
[physics]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user