summaryrefslogtreecommitdiff
path: root/scenes/ui
diff options
context:
space:
mode:
authorRadio <radiohotline@disroot.org>2026-05-31 00:17:01 +0300
committerRadio <radiohotline@disroot.org>2026-05-31 00:17:01 +0300
commit7f437327b25be23b1cdcd4aa3898d428421e533f (patch)
tree555cece0119bd0673712cd4304a3a28ba0cc3c82 /scenes/ui
parent9d87bc7922f76dc835ac4d4e99115b204cbfdea7 (diff)
menu fixes, options menu, and movement mechanic
Diffstat (limited to 'scenes/ui')
-rw-r--r--scenes/ui/menu.gd36
-rw-r--r--scenes/ui/menu.tscn37
-rw-r--r--scenes/ui/options.gd5
-rw-r--r--scenes/ui/options.tscn3
-rw-r--r--scenes/ui/title.tscn30
-rw-r--r--scenes/ui/title_button.gd20
-rw-r--r--scenes/ui/title_button.gd.uid1
7 files changed, 76 insertions, 56 deletions
diff --git a/scenes/ui/menu.gd b/scenes/ui/menu.gd
index 16882a4..a60336b 100644
--- a/scenes/ui/menu.gd
+++ b/scenes/ui/menu.gd
@@ -1,20 +1,42 @@
extends CanvasLayer
-var menu: CanvasLayer
+func pause() -> void:
+ Menu.visible = true
+ get_tree().paused = true
+
+
+func resume() -> void:
+ Menu.visible = false
+ get_tree().paused = false
+
+
+func _ready() -> void:
+ resume()
+
func _input(event: InputEvent) -> void:
- if event.is_action_pressed("ui_menu"):
- if menu:
- menu.queue_free()
- menu = null
+ if event.is_action_pressed("ui_menu") and get_tree().current_scene.scene_file_path != "res://scenes/ui/title.tscn":
+ if get_tree().paused:
+ resume()
else:
- menu = load("uid://dqhxjaxlgy4yf").instantiate()
- add_child(menu)
+ pause()
+func _on_start_pressed() -> void:
+ get_tree().change_scene_to_file("res://scenes/room/start.tscn")
+
func _on_main_menu_pressed() -> void:
+ resume()
get_tree().change_scene_to_file("res://scenes/ui/title.tscn")
func _on_quit_pressed() -> void:
get_tree().quit()
+
+
+func _on_options_pressed() -> void:
+ if !has_node("Options"):
+ var options = load("res://scenes/ui/options.tscn").instantiate()
+ add_child(options)
+ options.menu_node = self
+ process_mode = Node.PROCESS_MODE_DISABLED
diff --git a/scenes/ui/menu.tscn b/scenes/ui/menu.tscn
index 37d83d5..cc25d7b 100644
--- a/scenes/ui/menu.tscn
+++ b/scenes/ui/menu.tscn
@@ -3,9 +3,18 @@
[ext_resource type="Script" uid="uid://befvsvog6282s" path="res://scenes/ui/menu.gd" id="1_wedc3"]
[ext_resource type="PackedScene" uid="uid://dj2dk1g7jnk23" path="res://scenes/ui/title_button.tscn" id="2_c2n5p"]
-[node name="CanvasLayer" type="CanvasLayer" unique_id=1450802124]
+[node name="Menu" type="CanvasLayer" unique_id=1912348469]
+process_mode = 3
script = ExtResource("1_wedc3")
+[node name="ColorRect" type="ColorRect" parent="." unique_id=1816673840]
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0, 0, 0, 0.60784316)
+
[node name="Menu" type="Control" parent="." unique_id=115089705]
layout_mode = 3
anchors_preset = 8
@@ -18,7 +27,7 @@ grow_vertical = 2
size_flags_horizontal = 4
size_flags_vertical = 4
-[node name="VBoxContainer" type="VBoxContainer" parent="Menu" unique_id=604076564]
+[node name="PanelContainer" type="PanelContainer" parent="Menu" unique_id=1414562164]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
@@ -26,38 +35,42 @@ anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -260.5
-offset_top = -294.0
+offset_top = -318.25
offset_right = 260.5
-offset_bottom = 294.0
+offset_bottom = 318.25
grow_horizontal = 2
grow_vertical = 2
-[node name="Label" type="Label" parent="Menu/VBoxContainer" unique_id=1102397096]
+[node name="VBoxContainer" type="VBoxContainer" parent="Menu/PanelContainer" unique_id=604076564]
+layout_mode = 2
+
+[node name="Label" type="Label" parent="Menu/PanelContainer/VBoxContainer" unique_id=1102397096]
layout_mode = 2
theme_override_font_sizes/font_size = 100
text = "MENU!!!!!!!!"
horizontal_alignment = 1
uppercase = true
-[node name="Save" parent="Menu/VBoxContainer" unique_id=1597537067 instance=ExtResource("2_c2n5p")]
+[node name="Save" parent="Menu/PanelContainer/VBoxContainer" unique_id=1597537067 instance=ExtResource("2_c2n5p")]
layout_mode = 2
text = "Save"
-[node name="Load" parent="Menu/VBoxContainer" unique_id=1726486889 instance=ExtResource("2_c2n5p")]
+[node name="Load" parent="Menu/PanelContainer/VBoxContainer" unique_id=1726486889 instance=ExtResource("2_c2n5p")]
layout_mode = 2
text = "Load"
-[node name="Options" parent="Menu/VBoxContainer" unique_id=674602521 instance=ExtResource("2_c2n5p")]
+[node name="Options" parent="Menu/PanelContainer/VBoxContainer" unique_id=674602521 instance=ExtResource("2_c2n5p")]
layout_mode = 2
text = "Options"
-[node name="Main Menu" parent="Menu/VBoxContainer" unique_id=1904714546 instance=ExtResource("2_c2n5p")]
+[node name="Main Menu" parent="Menu/PanelContainer/VBoxContainer" unique_id=1904714546 instance=ExtResource("2_c2n5p")]
layout_mode = 2
text = "Main Menu"
-[node name="Quit" parent="Menu/VBoxContainer" unique_id=1892162088 instance=ExtResource("2_c2n5p")]
+[node name="Quit" parent="Menu/PanelContainer/VBoxContainer" unique_id=1892162088 instance=ExtResource("2_c2n5p")]
layout_mode = 2
text = "Quit"
-[connection signal="pressed" from="Menu/VBoxContainer/Main Menu" to="." method="_on_main_menu_pressed"]
-[connection signal="pressed" from="Menu/VBoxContainer/Quit" to="." method="_on_quit_pressed"]
+[connection signal="pressed" from="Menu/PanelContainer/VBoxContainer/Options" to="." method="_on_options_pressed"]
+[connection signal="pressed" from="Menu/PanelContainer/VBoxContainer/Main Menu" to="." method="_on_main_menu_pressed"]
+[connection signal="pressed" from="Menu/PanelContainer/VBoxContainer/Quit" to="." method="_on_quit_pressed"]
diff --git a/scenes/ui/options.gd b/scenes/ui/options.gd
index fa4e56a..c172e04 100644
--- a/scenes/ui/options.gd
+++ b/scenes/ui/options.gd
@@ -1,4 +1,7 @@
extends CanvasLayer
+var menu_node: CanvasLayer
+
func _on_close_pressed() -> void:
-
+ menu_node.process_mode = Node.PROCESS_MODE_ALWAYS
+ queue_free()
diff --git a/scenes/ui/options.tscn b/scenes/ui/options.tscn
index 252eccd..f2c0278 100644
--- a/scenes/ui/options.tscn
+++ b/scenes/ui/options.tscn
@@ -3,7 +3,8 @@
[ext_resource type="PackedScene" uid="uid://dj2dk1g7jnk23" path="res://scenes/ui/title_button.tscn" id="1_ad3a0"]
[ext_resource type="Script" uid="uid://ck4twnv274ivh" path="res://scenes/ui/options.gd" id="1_lr2b1"]
-[node name="CanvasLayer" type="CanvasLayer" unique_id=1973935756]
+[node name="Options" type="CanvasLayer" unique_id=1868787303]
+process_mode = 3
script = ExtResource("1_lr2b1")
[node name="Control" type="Control" parent="." unique_id=1010669591]
diff --git a/scenes/ui/title.tscn b/scenes/ui/title.tscn
index 65b44fd..91d47e9 100644
--- a/scenes/ui/title.tscn
+++ b/scenes/ui/title.tscn
@@ -1,18 +1,20 @@
[gd_scene format=3 uid="uid://c2cmda8vfq0lb"]
-[ext_resource type="Script" uid="uid://c5pqgx27uuybk" path="res://scenes/ui/title_button.gd" id="1_g80e2"]
+[ext_resource type="Script" uid="uid://befvsvog6282s" path="res://scenes/ui/menu.gd" id="1_g80e2"]
[ext_resource type="PackedScene" uid="uid://dj2dk1g7jnk23" path="res://scenes/ui/title_button.tscn" id="1_t6us6"]
-[node name="Control" type="Control" unique_id=930849088]
+[node name="Title" type="CanvasLayer" unique_id=1428349657]
+script = ExtResource("1_g80e2")
+
+[node name="Control" type="Control" parent="." unique_id=930849088]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
-script = ExtResource("1_g80e2")
-[node name="MarginContainer2" type="MarginContainer" parent="." unique_id=22126455]
+[node name="Title" type="MarginContainer" parent="Control" unique_id=22126455]
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
@@ -23,14 +25,14 @@ offset_bottom = 273.0
grow_horizontal = 2
theme_override_constants/margin_top = 50
-[node name="Label" type="Label" parent="MarginContainer2" unique_id=1066740590]
+[node name="Label" type="Label" parent="Control/Title" unique_id=1066740590]
layout_mode = 2
size_flags_horizontal = 0
theme_override_font_sizes/font_size = 200
text = "MULCH"
uppercase = true
-[node name="MarginContainer" type="MarginContainer" parent="." unique_id=1839328694]
+[node name="MarginContainer" type="MarginContainer" parent="Control" unique_id=1839328694]
layout_mode = 1
anchors_preset = 12
anchor_top = 1.0
@@ -44,27 +46,27 @@ theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 10
theme_override_constants/margin_bottom = 10
-[node name="Hbox" type="HBoxContainer" parent="MarginContainer" unique_id=728577623]
+[node name="Hbox" type="HBoxContainer" parent="Control/MarginContainer" unique_id=728577623]
layout_mode = 2
theme_override_constants/separation = 25
alignment = 1
-[node name="Start" parent="MarginContainer/Hbox" unique_id=1597537067 instance=ExtResource("1_t6us6")]
+[node name="Start" parent="Control/MarginContainer/Hbox" unique_id=1597537067 instance=ExtResource("1_t6us6")]
layout_mode = 2
text = "Start"
-[node name="Load" parent="MarginContainer/Hbox" unique_id=1936574972 instance=ExtResource("1_t6us6")]
+[node name="Load" parent="Control/MarginContainer/Hbox" unique_id=1936574972 instance=ExtResource("1_t6us6")]
layout_mode = 2
text = "Load"
-[node name="Options" parent="MarginContainer/Hbox" unique_id=1664031607 instance=ExtResource("1_t6us6")]
+[node name="Options" parent="Control/MarginContainer/Hbox" unique_id=1664031607 instance=ExtResource("1_t6us6")]
layout_mode = 2
text = "Options"
-[node name="Quit" parent="MarginContainer/Hbox" unique_id=443491275 instance=ExtResource("1_t6us6")]
+[node name="Quit" parent="Control/MarginContainer/Hbox" unique_id=443491275 instance=ExtResource("1_t6us6")]
layout_mode = 2
text = "Quit"
-[connection signal="pressed" from="MarginContainer/Hbox/Start" to="." method="_on_start_pressed"]
-[connection signal="pressed" from="MarginContainer/Hbox/Options" to="." method="_on_options_pressed"]
-[connection signal="pressed" from="MarginContainer/Hbox/Quit" to="." method="_on_exit_pressed"]
+[connection signal="pressed" from="Control/MarginContainer/Hbox/Start" to="." method="_on_start_pressed"]
+[connection signal="pressed" from="Control/MarginContainer/Hbox/Options" to="." method="_on_options_pressed"]
+[connection signal="pressed" from="Control/MarginContainer/Hbox/Quit" to="." method="_on_quit_pressed"]
diff --git a/scenes/ui/title_button.gd b/scenes/ui/title_button.gd
deleted file mode 100644
index 3dc86fb..0000000
--- a/scenes/ui/title_button.gd
+++ /dev/null
@@ -1,20 +0,0 @@
-extends Control
-
-var options: CanvasLayer
-
-func _on_exit_pressed() -> void:
- get_tree().quit()
-
-
-func _on_start_pressed() -> void:
- get_tree().change_scene_to_file("res://scenes/room/start.tscn")
-
-
-func _on_main_menu_pressed() -> void:
- get_tree().change_scene_to_file("res://scenes/ui/title.tscn")
-
-
-func _on_options_pressed() -> void:
- options = load("uid://i8ml66ykc8eh").instantiate()
- add_child(options)
-
diff --git a/scenes/ui/title_button.gd.uid b/scenes/ui/title_button.gd.uid
deleted file mode 100644
index e1ce955..0000000
--- a/scenes/ui/title_button.gd.uid
+++ /dev/null
@@ -1 +0,0 @@
-uid://c5pqgx27uuybk