@ -0,0 +1,11 @@ | |||||
## General Purpose signals | |||||
extends Node | |||||
#signal pause_game | |||||
signal resume_game | |||||
signal open_pause_menu | |||||
signal close_pause_menu | |||||
signal open_settings_menu | |||||
signal close_settings_menu |
@ -0,0 +1 @@ | |||||
uid://biwce2o15q44g |
@ -0,0 +1,6 @@ | |||||
[gd_resource type="Theme" format=3 uid="uid://b5q8b0l6qp1dt"] | |||||
[resource] | |||||
Button/colors/font_color = Color(0.839216, 0.933333, 1, 1) | |||||
Button/constants/outline_size = 2 | |||||
Button/font_sizes/font_size = 20 |
@ -1,89 +0,0 @@ | |||||
[gd_scene format=3 uid="uid://w6wtjosjn1qu"] | |||||
[node name="OptionsMenu" type="MarginContainer"] | |||||
anchors_preset = 15 | |||||
anchor_right = 1.0 | |||||
anchor_bottom = 1.0 | |||||
grow_horizontal = 2 | |||||
grow_vertical = 2 | |||||
[node name="PanelContainer" type="PanelContainer" parent="."] | |||||
layout_mode = 2 | |||||
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer"] | |||||
layout_mode = 2 | |||||
theme_override_constants/margin_left = 20 | |||||
theme_override_constants/margin_top = 20 | |||||
theme_override_constants/margin_right = 20 | |||||
theme_override_constants/margin_bottom = 20 | |||||
[node name="LeftContainer" type="HBoxContainer" parent="PanelContainer/MarginContainer"] | |||||
layout_mode = 2 | |||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer/LeftContainer"] | |||||
layout_mode = 2 | |||||
size_flags_horizontal = 3 | |||||
[node name="Label" type="Label" parent="PanelContainer/MarginContainer/LeftContainer/VBoxContainer"] | |||||
layout_mode = 2 | |||||
size_flags_vertical = 0 | |||||
theme_type_variation = &"HeaderLarge" | |||||
text = "Options Menu" | |||||
horizontal_alignment = 1 | |||||
[node name="BlockHighlights" type="HBoxContainer" parent="PanelContainer/MarginContainer/LeftContainer/VBoxContainer"] | |||||
layout_mode = 2 | |||||
[node name="CheckButton" type="CheckButton" parent="PanelContainer/MarginContainer/LeftContainer/VBoxContainer/BlockHighlights"] | |||||
layout_mode = 2 | |||||
button_pressed = true | |||||
text = "Enable Block Highlighting" | |||||
[node name="Waila" type="HBoxContainer" parent="PanelContainer/MarginContainer/LeftContainer/VBoxContainer"] | |||||
layout_mode = 2 | |||||
[node name="CheckButton" type="CheckButton" parent="PanelContainer/MarginContainer/LeftContainer/VBoxContainer/Waila"] | |||||
layout_mode = 2 | |||||
button_pressed = true | |||||
text = "Enable Waila" | |||||
[node name="BottomRightContainer" type="HBoxContainer" parent="PanelContainer/MarginContainer"] | |||||
layout_mode = 2 | |||||
size_flags_horizontal = 8 | |||||
size_flags_vertical = 8 | |||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer/BottomRightContainer"] | |||||
layout_mode = 2 | |||||
size_flags_horizontal = 8 | |||||
[node name="ControlsLabel" type="Label" parent="PanelContainer/MarginContainer/BottomRightContainer/VBoxContainer"] | |||||
layout_mode = 2 | |||||
theme_type_variation = &"HeaderSmall" | |||||
text = "Controls" | |||||
horizontal_alignment = 1 | |||||
[node name="Controls" type="Label" parent="PanelContainer/MarginContainer/BottomRightContainer/VBoxContainer"] | |||||
layout_mode = 2 | |||||
text = "Left Click - Create Block | |||||
Right Click - Delete Block | |||||
Scoll Wheel - Change Block | |||||
Ctrl - Crouch | |||||
Shift - Sprint (until stop or toggled)" | |||||
[node name="CenterContainer" type="CenterContainer" parent="PanelContainer/MarginContainer"] | |||||
layout_mode = 2 | |||||
size_flags_vertical = 8 | |||||
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/MarginContainer/CenterContainer"] | |||||
layout_mode = 2 | |||||
theme_override_constants/separation = 10 | |||||
[node name="CloseButton" type="Button" parent="PanelContainer/MarginContainer/CenterContainer/HBoxContainer"] | |||||
layout_mode = 2 | |||||
theme_override_font_sizes/font_size = 20 | |||||
text = "Close Menu" | |||||
[node name="ExitButton" type="Button" parent="PanelContainer/MarginContainer/CenterContainer/HBoxContainer"] | |||||
layout_mode = 2 | |||||
theme_override_font_sizes/font_size = 20 | |||||
text = "Exit Game" |
@ -0,0 +1,35 @@ | |||||
class_name PauseMenu | |||||
extends Panel | |||||
func _unhandled_input(event: InputEvent) -> void: | |||||
if event.is_action_pressed("ui_cancel") and self.visible: | |||||
hide_menu() | |||||
elif event.is_action_pressed("ui_cancel") and !self.visible: | |||||
show_menu() | |||||
func hide_menu() -> void: | |||||
SignalManager.close_pause_menu.emit() | |||||
func show_menu() -> void: | |||||
SignalManager.open_pause_menu.emit() | |||||
# Signals | |||||
func _on_exit_game_button_pressed() -> void: | |||||
get_tree().quit() | |||||
func _on_resume_button_pressed() -> void: | |||||
hide_menu() | |||||
func _on_quick_load_pressed() -> void: | |||||
SaveGameManager.load_game() | |||||
hide_menu() | |||||
func _on_quick_save_pressed() -> void: | |||||
SaveGameManager.save_game() | |||||
hide_menu() | |||||
func _on_settings_button_pressed() -> void: | |||||
SignalManager.open_settings_menu.emit() |
@ -0,0 +1 @@ | |||||
uid://d3ysjgxxmyqpw |
@ -0,0 +1,80 @@ | |||||
[gd_scene load_steps=3 format=3 uid="uid://bopvfwcgnnawg"] | |||||
[ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="1_6tw0m"] | |||||
[ext_resource type="Script" uid="uid://d3ysjgxxmyqpw" path="res://scenes/ui/pause_menu.gd" id="2_0lmf7"] | |||||
[node name="PauseMenu" type="Panel"] | |||||
process_mode = 3 | |||||
anchors_preset = 15 | |||||
anchor_right = 1.0 | |||||
anchor_bottom = 1.0 | |||||
grow_horizontal = 2 | |||||
grow_vertical = 2 | |||||
theme = ExtResource("1_6tw0m") | |||||
script = ExtResource("2_0lmf7") | |||||
[node name="MenuBody" type="ColorRect" parent="."] | |||||
custom_minimum_size = Vector2(400, 0) | |||||
layout_mode = 1 | |||||
anchors_preset = 13 | |||||
anchor_left = 0.5 | |||||
anchor_right = 0.5 | |||||
anchor_bottom = 1.0 | |||||
grow_horizontal = 2 | |||||
grow_vertical = 2 | |||||
color = Color(0.192157, 0.239216, 0.352941, 1) | |||||
[node name="MarginContainer" type="MarginContainer" parent="MenuBody"] | |||||
layout_mode = 1 | |||||
anchors_preset = 15 | |||||
anchor_right = 1.0 | |||||
anchor_bottom = 1.0 | |||||
grow_horizontal = 2 | |||||
grow_vertical = 2 | |||||
theme_override_constants/margin_left = 10 | |||||
theme_override_constants/margin_top = 10 | |||||
theme_override_constants/margin_right = 10 | |||||
theme_override_constants/margin_bottom = 10 | |||||
[node name="CenterContainer" type="VBoxContainer" parent="MenuBody/MarginContainer"] | |||||
layout_mode = 2 | |||||
size_flags_horizontal = 4 | |||||
theme_override_constants/separation = 20 | |||||
[node name="Title" type="Label" parent="MenuBody/MarginContainer/CenterContainer"] | |||||
layout_mode = 2 | |||||
theme_override_font_sizes/font_size = 40 | |||||
text = "Paused" | |||||
horizontal_alignment = 1 | |||||
vertical_alignment = 1 | |||||
[node name="ButtonsContainer" type="VBoxContainer" parent="MenuBody/MarginContainer/CenterContainer"] | |||||
layout_mode = 2 | |||||
size_flags_vertical = 6 | |||||
theme_override_constants/separation = 20 | |||||
[node name="ResumeButton" type="Button" parent="MenuBody/MarginContainer/CenterContainer/ButtonsContainer"] | |||||
layout_mode = 2 | |||||
text = "Resume" | |||||
[node name="QuickSave" type="Button" parent="MenuBody/MarginContainer/CenterContainer/ButtonsContainer"] | |||||
layout_mode = 2 | |||||
text = "Quick Save" | |||||
[node name="QuickLoad" type="Button" parent="MenuBody/MarginContainer/CenterContainer/ButtonsContainer"] | |||||
layout_mode = 2 | |||||
text = "Quick Load" | |||||
[node name="SettingsButton" type="Button" parent="MenuBody/MarginContainer/CenterContainer/ButtonsContainer"] | |||||
layout_mode = 2 | |||||
text = "Settings" | |||||
[node name="ExitGameButton" type="Button" parent="MenuBody/MarginContainer/CenterContainer/ButtonsContainer"] | |||||
layout_mode = 2 | |||||
text = "Exit Game" | |||||
[connection signal="pressed" from="MenuBody/MarginContainer/CenterContainer/ButtonsContainer/ResumeButton" to="." method="_on_resume_button_pressed"] | |||||
[connection signal="pressed" from="MenuBody/MarginContainer/CenterContainer/ButtonsContainer/QuickSave" to="." method="_on_quick_save_pressed"] | |||||
[connection signal="pressed" from="MenuBody/MarginContainer/CenterContainer/ButtonsContainer/QuickLoad" to="." method="_on_quick_load_pressed"] | |||||
[connection signal="pressed" from="MenuBody/MarginContainer/CenterContainer/ButtonsContainer/SettingsButton" to="." method="_on_settings_button_pressed"] | |||||
[connection signal="pressed" from="MenuBody/MarginContainer/CenterContainer/ButtonsContainer/ExitGameButton" to="." method="_on_exit_game_button_pressed"] |
@ -0,0 +1,13 @@ | |||||
class_name SettingsMenu | |||||
extends Panel | |||||
func _on_block_highlighting_toggled(toggled_on: bool) -> void: | |||||
Globals.enable_block_highlight = toggled_on | |||||
func _on_enable_waila_toggled(toggled_on: bool) -> void: | |||||
Globals.enable_waila = toggled_on | |||||
func _on_close_button_pressed() -> void: | |||||
SignalManager.resume_game.emit() |
@ -0,0 +1 @@ | |||||
uid://37ftrpj14msn |
@ -0,0 +1,98 @@ | |||||
[gd_scene load_steps=3 format=3 uid="uid://4bdgwwx27m71"] | |||||
[ext_resource type="Script" uid="uid://37ftrpj14msn" path="res://scenes/ui/settings_menu.gd" id="1_qwcqe"] | |||||
[ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="2_mhswj"] | |||||
[node name="SettingsMenu" type="Panel"] | |||||
process_mode = 3 | |||||
anchors_preset = 15 | |||||
anchor_right = 1.0 | |||||
anchor_bottom = 1.0 | |||||
grow_horizontal = 2 | |||||
grow_vertical = 2 | |||||
script = ExtResource("1_qwcqe") | |||||
[node name="MarginContainer" type="MarginContainer" parent="."] | |||||
layout_mode = 1 | |||||
anchors_preset = 5 | |||||
anchor_left = 0.5 | |||||
anchor_right = 0.5 | |||||
offset_left = -300.0 | |||||
offset_right = 300.0 | |||||
offset_bottom = 137.0 | |||||
grow_horizontal = 2 | |||||
theme_override_constants/margin_left = 20 | |||||
theme_override_constants/margin_top = 20 | |||||
theme_override_constants/margin_right = 20 | |||||
theme_override_constants/margin_bottom = 20 | |||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"] | |||||
layout_mode = 2 | |||||
theme_override_constants/separation = 20 | |||||
[node name="Title" type="Label" parent="MarginContainer/VBoxContainer"] | |||||
layout_mode = 2 | |||||
theme_override_font_sizes/font_size = 40 | |||||
text = "Settings" | |||||
horizontal_alignment = 1 | |||||
[node name="TabContainer" type="TabContainer" parent="MarginContainer/VBoxContainer"] | |||||
layout_mode = 2 | |||||
current_tab = 0 | |||||
[node name="Game" type="VBoxContainer" parent="MarginContainer/VBoxContainer/TabContainer"] | |||||
layout_mode = 2 | |||||
metadata/_tab_index = 0 | |||||
[node name="BlockHighlighting" type="CheckButton" parent="MarginContainer/VBoxContainer/TabContainer/Game"] | |||||
layout_mode = 2 | |||||
button_pressed = true | |||||
text = "Enable Block Highlighting" | |||||
[node name="EnableWaila" type="CheckButton" parent="MarginContainer/VBoxContainer/TabContainer/Game"] | |||||
layout_mode = 2 | |||||
button_pressed = true | |||||
text = "Enable Waila" | |||||
[node name="Graphics (Todo)" type="VBoxContainer" parent="MarginContainer/VBoxContainer/TabContainer"] | |||||
visible = false | |||||
layout_mode = 2 | |||||
metadata/_tab_index = 1 | |||||
[node name="Audio (TODO)" type="VBoxContainer" parent="MarginContainer/VBoxContainer/TabContainer"] | |||||
visible = false | |||||
layout_mode = 2 | |||||
metadata/_tab_index = 2 | |||||
[node name="Inputs (TODO)" type="VBoxContainer" parent="MarginContainer/VBoxContainer/TabContainer"] | |||||
visible = false | |||||
layout_mode = 2 | |||||
metadata/_tab_index = 3 | |||||
[node name="BottomRow" type="MarginContainer" parent="."] | |||||
layout_mode = 1 | |||||
anchors_preset = 7 | |||||
anchor_left = 0.5 | |||||
anchor_top = 1.0 | |||||
anchor_right = 0.5 | |||||
anchor_bottom = 1.0 | |||||
offset_left = -82.5 | |||||
offset_top = -40.0 | |||||
offset_right = 82.5 | |||||
grow_horizontal = 2 | |||||
grow_vertical = 0 | |||||
theme_override_constants/margin_bottom = 10 | |||||
[node name="HBoxContainer" type="HBoxContainer" parent="BottomRow"] | |||||
layout_mode = 2 | |||||
theme_override_constants/separation = 20 | |||||
[node name="CloseButton" type="Button" parent="BottomRow/HBoxContainer"] | |||||
custom_minimum_size = Vector2(141, 36) | |||||
layout_mode = 2 | |||||
theme = ExtResource("2_mhswj") | |||||
text = "Close Settings" | |||||
[connection signal="toggled" from="MarginContainer/VBoxContainer/TabContainer/Game/BlockHighlighting" to="." method="_on_block_highlighting_toggled"] | |||||
[connection signal="toggled" from="MarginContainer/VBoxContainer/TabContainer/Game/EnableWaila" to="." method="_on_enable_waila_toggled"] | |||||
[connection signal="pressed" from="BottomRow/HBoxContainer/CloseButton" to="." method="_on_close_button_pressed"] |