feat: base
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 6s
Create tag and build when new code gets to main / Export (push) Successful in 2m5s

This commit is contained in:
2025-06-27 23:11:54 +02:00
parent 9a79715e47
commit 00037d0270
394 changed files with 11399 additions and 11 deletions

View File

@ -0,0 +1,10 @@
[gd_scene load_steps=3 format=3 uid="uid://cikf3o5omnunl"]
[ext_resource type="PackedScene" uid="uid://bqqngki8bm3iq" path="res://addons/maaacks_menus_template/base/scenes/overlaid_menu/overlaid_menu_container.tscn" id="1_kverk"]
[ext_resource type="PackedScene" uid="uid://vh1ucj2rfbby" path="res://addons/maaacks_menus_template/base/scenes/menus/options_menu/mini_options_menu.tscn" id="2_ihtu5"]
[node name="OverlaidMenuContainer" instance=ExtResource("1_kverk")]
menu_scene = ExtResource("2_ihtu5")
[node name="TitleLabel" parent="MenuPanelContainer/MarginContainer/BoxContainer/TitleMargin" index="0"]
text = "Options"

View File

@ -0,0 +1,81 @@
class_name PauseMenu
extends OverlaidMenu
@export var options_packed_scene : PackedScene
@export_file("*.tscn") var main_menu_scene : String
var popup_open : Node
func close_popup() -> void:
if popup_open != null:
popup_open.hide()
popup_open = null
func _disable_focus() -> void:
for child in %MenuButtons.get_children():
if child is Control:
child.focus_mode = FOCUS_NONE
func _enable_focus() -> void:
for child in %MenuButtons.get_children():
if child is Control:
child.focus_mode = FOCUS_ALL
func _load_scene(scene_path: String) -> void:
_scene_tree.paused = false
SceneLoader.load_scene(scene_path)
func open_options_menu() -> void:
var options_scene := options_packed_scene.instantiate()
add_child(options_scene)
_disable_focus.call_deferred()
await options_scene.tree_exiting
_enable_focus.call_deferred()
func _handle_cancel_input() -> void:
if popup_open != null:
close_popup()
else:
super._handle_cancel_input()
func _hide_exit_for_web() -> void:
if OS.has_feature("web"):
%ExitButton.hide()
func _hide_options_if_unset() -> void:
if options_packed_scene == null:
%OptionsButton.hide()
func _hide_main_menu_if_unset() -> void:
if main_menu_scene.is_empty():
%MainMenuButton.hide()
func _ready() -> void:
_hide_exit_for_web()
_hide_options_if_unset()
_hide_main_menu_if_unset()
func _on_restart_button_pressed() -> void:
%ConfirmRestart.popup_centered()
popup_open = %ConfirmRestart
func _on_options_button_pressed() -> void:
open_options_menu()
func _on_main_menu_button_pressed() -> void:
%ConfirmMainMenu.popup_centered()
popup_open = %ConfirmMainMenu
func _on_exit_button_pressed() -> void:
%ConfirmExit.popup_centered()
popup_open = %ConfirmExit
func _on_confirm_restart_confirmed() -> void:
SceneLoader.reload_current_scene()
close()
func _on_confirm_main_menu_confirmed() -> void:
_load_scene(main_menu_scene)
func _on_confirm_exit_confirmed() -> void:
get_tree().quit()

View File

@ -0,0 +1 @@
uid://uidwhqh4fyhj

View File

@ -0,0 +1,68 @@
[gd_scene load_steps=4 format=3 uid="uid://b5cd6sa8qq4vc"]
[ext_resource type="PackedScene" uid="uid://wny2d8dvp3ok" path="res://addons/maaacks_menus_template/base/scenes/overlaid_menu/overlaid_menu.tscn" id="1_gm3uv"]
[ext_resource type="Script" uid="uid://uidwhqh4fyhj" path="res://addons/maaacks_menus_template/base/scenes/overlaid_menu/menus/pause_menu.gd" id="2_0ln3r"]
[ext_resource type="PackedScene" uid="uid://cikf3o5omnunl" path="res://addons/maaacks_menus_template/base/scenes/overlaid_menu/menus/mini_options_overlaid_menu.tscn" id="3_kv70e"]
[node name="PauseMenu" instance=ExtResource("1_gm3uv")]
process_mode = 3
script = ExtResource("2_0ln3r")
options_packed_scene = ExtResource("3_kv70e")
main_menu_scene = "res://addons/maaacks_menus_template/base/scenes/menus/main_menu/main_menu.tscn"
pauses_game = true
[node name="MarginContainer" parent="MenuPanelContainer" index="0"]
theme_override_constants/margin_left = 64
theme_override_constants/margin_right = 64
[node name="TitleLabel" parent="MenuPanelContainer/MarginContainer/BoxContainer/TitleMargin" index="0"]
text = "Paused"
[node name="MenuButtonsMargin" parent="MenuPanelContainer/MarginContainer/BoxContainer" index="2"]
theme_override_constants/margin_top = 16
theme_override_constants/margin_bottom = 16
[node name="CloseButton" parent="MenuPanelContainer/MarginContainer/BoxContainer/MenuButtonsMargin/MenuButtons" index="0"]
text = "Resume"
[node name="RestartButton" type="Button" parent="MenuPanelContainer/MarginContainer/BoxContainer/MenuButtonsMargin/MenuButtons" index="1"]
layout_mode = 2
text = "Restart"
[node name="OptionsButton" type="Button" parent="MenuPanelContainer/MarginContainer/BoxContainer/MenuButtonsMargin/MenuButtons" index="2"]
unique_name_in_owner = true
layout_mode = 2
text = "Options"
[node name="MainMenuButton" type="Button" parent="MenuPanelContainer/MarginContainer/BoxContainer/MenuButtonsMargin/MenuButtons" index="3"]
unique_name_in_owner = true
layout_mode = 2
text = "Main Menu"
[node name="ExitButton" type="Button" parent="MenuPanelContainer/MarginContainer/BoxContainer/MenuButtonsMargin/MenuButtons" index="4"]
unique_name_in_owner = true
layout_mode = 2
text = "Exit Game"
[node name="ConfirmRestart" type="ConfirmationDialog" parent="." index="2"]
unique_name_in_owner = true
auto_translate_mode = 1
dialog_text = "Restart the game?"
[node name="ConfirmMainMenu" type="ConfirmationDialog" parent="." index="3"]
unique_name_in_owner = true
auto_translate_mode = 1
dialog_text = "Go back to main menu?"
[node name="ConfirmExit" type="ConfirmationDialog" parent="." index="4"]
unique_name_in_owner = true
auto_translate_mode = 1
dialog_text = "Quit the game?"
[connection signal="pressed" from="MenuPanelContainer/MarginContainer/BoxContainer/MenuButtonsMargin/MenuButtons/RestartButton" to="." method="_on_restart_button_pressed"]
[connection signal="pressed" from="MenuPanelContainer/MarginContainer/BoxContainer/MenuButtonsMargin/MenuButtons/OptionsButton" to="." method="_on_options_button_pressed"]
[connection signal="pressed" from="MenuPanelContainer/MarginContainer/BoxContainer/MenuButtonsMargin/MenuButtons/MainMenuButton" to="." method="_on_main_menu_button_pressed"]
[connection signal="pressed" from="MenuPanelContainer/MarginContainer/BoxContainer/MenuButtonsMargin/MenuButtons/ExitButton" to="." method="_on_exit_button_pressed"]
[connection signal="confirmed" from="ConfirmRestart" to="." method="_on_confirm_restart_confirmed"]
[connection signal="confirmed" from="ConfirmMainMenu" to="." method="_on_confirm_main_menu_confirmed"]
[connection signal="confirmed" from="ConfirmExit" to="." method="_on_confirm_exit_confirmed"]