From a00fe83a037c14c4ab7b225ed25d2e297c9226a5 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sat, 29 Mar 2025 21:18:44 -0400 Subject: [PATCH 01/17] Initial work on the redesign --- autoloads/signal_manager.gd | 2 +- .../ui/menus/saves_manager/save_files_list.gd | 9 +- .../ui/menus/saves_manager/save_load_ui.tscn | 3 +- scenes/ui/pause_menu/base_menu.gd | 34 + scenes/ui/pause_menu/base_menu.gd.uid | 1 + scenes/ui/pause_menu/main_menu.gd | 16 + scenes/ui/pause_menu/main_menu.gd.uid | 1 + scenes/ui/pause_menu/pause_menu.gd | 79 ++ scenes/ui/pause_menu/pause_menu.gd.uid | 1 + scenes/ui/pause_menu/pause_menu.tscn | 769 ++++++++++++++++++ scenes/ui/pause_menu/saves_menu.gd | 55 ++ scenes/ui/pause_menu/saves_menu.gd.uid | 1 + scenes/ui/pause_menu/settings_menu.gd | 97 +++ scenes/ui/pause_menu/settings_menu.gd.uid | 1 + scenes/ui/ui.gd | 74 +- scenes/ui/ui.tscn | 18 +- 16 files changed, 1084 insertions(+), 77 deletions(-) create mode 100644 scenes/ui/pause_menu/base_menu.gd create mode 100644 scenes/ui/pause_menu/base_menu.gd.uid create mode 100644 scenes/ui/pause_menu/main_menu.gd create mode 100644 scenes/ui/pause_menu/main_menu.gd.uid create mode 100644 scenes/ui/pause_menu/pause_menu.gd create mode 100644 scenes/ui/pause_menu/pause_menu.gd.uid create mode 100644 scenes/ui/pause_menu/pause_menu.tscn create mode 100644 scenes/ui/pause_menu/saves_menu.gd create mode 100644 scenes/ui/pause_menu/saves_menu.gd.uid create mode 100644 scenes/ui/pause_menu/settings_menu.gd create mode 100644 scenes/ui/pause_menu/settings_menu.gd.uid diff --git a/autoloads/signal_manager.gd b/autoloads/signal_manager.gd index 32e012b..7b11d65 100644 --- a/autoloads/signal_manager.gd +++ b/autoloads/signal_manager.gd @@ -2,7 +2,7 @@ extends Node -#signal pause_game +signal pause_game signal resume_game signal open_pause_menu diff --git a/scenes/ui/menus/saves_manager/save_files_list.gd b/scenes/ui/menus/saves_manager/save_files_list.gd index ebe9209..0d92c25 100644 --- a/scenes/ui/menus/saves_manager/save_files_list.gd +++ b/scenes/ui/menus/saves_manager/save_files_list.gd @@ -1,12 +1,8 @@ +class_name SaveFilesListUI extends VBoxContainer @export var save_file_scene: PackedScene -@export var save_load_ui: SaveLoadUI - - -func _ready() -> void: - save_load_ui.open_save_list.connect(_on_open_save_list) # TODO: Reconsider this setup ## Clear the SaveFilesList node of all saves and load most recent saves @@ -24,6 +20,3 @@ func refresh_saves_list() -> void: func _clear_save_files_list() -> void: for _panel: SaveFilePanel in get_children(): _panel.queue_free() - -func _on_open_save_list() -> void: - refresh_saves_list() diff --git a/scenes/ui/menus/saves_manager/save_load_ui.tscn b/scenes/ui/menus/saves_manager/save_load_ui.tscn index 0e70e6c..74d6a20 100644 --- a/scenes/ui/menus/saves_manager/save_load_ui.tscn +++ b/scenes/ui/menus/saves_manager/save_load_ui.tscn @@ -58,10 +58,9 @@ custom_minimum_size = Vector2(0, 500) layout_mode = 2 horizontal_scroll_mode = 0 -[node name="SaveFilesList" parent="Panel/MarginContainer/VBoxContainer/ScrollContainer" node_paths=PackedStringArray("save_load_ui") instance=ExtResource("1_tqtxm")] +[node name="SaveFilesList" parent="Panel/MarginContainer/VBoxContainer/ScrollContainer" instance=ExtResource("1_tqtxm")] layout_mode = 2 size_flags_horizontal = 6 -save_load_ui = NodePath("../../../../..") [node name="SaveFilePanel" parent="Panel/MarginContainer/VBoxContainer/ScrollContainer/SaveFilesList" instance=ExtResource("2_6uxbh")] layout_mode = 2 diff --git a/scenes/ui/pause_menu/base_menu.gd b/scenes/ui/pause_menu/base_menu.gd new file mode 100644 index 0000000..c8d8494 --- /dev/null +++ b/scenes/ui/pause_menu/base_menu.gd @@ -0,0 +1,34 @@ +class_name BaseMenu +extends ColorRect + + +@export var animation_player: AnimationPlayer + +var pause_menu: PauseMenu + + +func init() -> void: + reset_menu() + update_animation_tracks() + +func close_menu() -> void: + animation_player.play("hide") + +func open_menu() -> void: + animation_player.play("show") + +func reset_menu() -> void: + animation_player.play("RESET") + +## Update the animation tracks to account for the size of the different container sizes[br] +## Only the x position is modified.[br][br] +## Requires:[br] +## Track 1 - Must be for the content_container[br] +## First Property - Must be position[br] +## Keys - Must only have 2 keys, the start and end position keys +func update_animation_tracks() -> void: + var hide_animation: Animation = animation_player.get_animation("hide") + var show_animation: Animation = animation_player.get_animation("show") + + hide_animation.track_set_key_value(0, 1, Vector2(-size.x, hide_animation.track_get_key_value(0, 1).y)) + show_animation.track_set_key_value(0, 0, Vector2(-size.x, show_animation.track_get_key_value(0, 0).y)) diff --git a/scenes/ui/pause_menu/base_menu.gd.uid b/scenes/ui/pause_menu/base_menu.gd.uid new file mode 100644 index 0000000..c607592 --- /dev/null +++ b/scenes/ui/pause_menu/base_menu.gd.uid @@ -0,0 +1 @@ +uid://c71f7fatmvsra diff --git a/scenes/ui/pause_menu/main_menu.gd b/scenes/ui/pause_menu/main_menu.gd new file mode 100644 index 0000000..2ca069e --- /dev/null +++ b/scenes/ui/pause_menu/main_menu.gd @@ -0,0 +1,16 @@ +class_name PauseMenuMain +extends BaseMenu + + +# Signals +func _on_exit_game_button_pressed() -> void: + get_tree().quit() + +func _on_resume_button_pressed() -> void: + close_menu() + +func _on_settings_button_pressed() -> void: + pause_menu.open_menu.emit("SettingsMenu") + +func _on_saves_button_pressed() -> void: + pause_menu.open_menu.emit("SavesMenu") diff --git a/scenes/ui/pause_menu/main_menu.gd.uid b/scenes/ui/pause_menu/main_menu.gd.uid new file mode 100644 index 0000000..1bcdd3e --- /dev/null +++ b/scenes/ui/pause_menu/main_menu.gd.uid @@ -0,0 +1 @@ +uid://bwvwpiwhp52e diff --git a/scenes/ui/pause_menu/pause_menu.gd b/scenes/ui/pause_menu/pause_menu.gd new file mode 100644 index 0000000..93597bc --- /dev/null +++ b/scenes/ui/pause_menu/pause_menu.gd @@ -0,0 +1,79 @@ +## Handle changing of pause menus +class_name PauseMenu +extends Panel + + +signal open_menu(menu_name: String) + + +@onready var menu_mapping: Dictionary[String, BaseMenu] = { + "MainMenu": $MainMenu, + "SettingsMenu": $SettingsMenu, + "SavesMenu": $SavesMenu, +} + +var _active_menu: String = "MainMenu" +var _next_menu: String = "" + + +func _ready() -> void: + open_menu.connect(_on_change_menu) + + for menu: BaseMenu in get_children(): + menu.animation_player.animation_finished.connect(_on_animation_finished) + menu.pause_menu = self + menu.init() + + SaveGameManager.load_save.connect(_on_load_save) + SaveGameManager.create_save.connect(_on_create_save) + +func _unhandled_input(event: InputEvent) -> void: + if event.is_action_pressed("ui_cancel") and !visible: + _open_pause_menu() + elif event.is_action_pressed("ui_cancel") and visible and _active_menu == "MainMenu": + menu_mapping["MainMenu"].animation_player.play("hide") + elif event.is_action_pressed("ui_cancel"): + menu_mapping[_active_menu].animation_player.play("hide") + + +## The animation to show the next menu will take place in _on_animation_finished() +func _change_menu(menu_name: String) -> void: + visible = true + _next_menu = menu_name + if _next_menu == "": + menu_mapping["MainMenu"].animation_player.play("hide") + else: + menu_mapping[_active_menu].animation_player.play("hide") + +func _close_pause_menu() -> void: + visible = false + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + _next_menu = "" + SignalManager.resume_game.emit() + +func _open_pause_menu() -> void: + Input.mouse_mode = Input.MOUSE_MODE_VISIBLE + SignalManager.pause_game.emit() + menu_mapping["MainMenu"].animation_player.play("show") + + +## When the hide animation finished, we can move on to opening the next menu +func _on_animation_finished(animation_name: String) -> void: + if animation_name == "hide" and _next_menu == "": + _active_menu = "MainMenu" + _close_pause_menu() + elif animation_name == "hide": + _active_menu = _next_menu + _next_menu = "" + menu_mapping[_active_menu].animation_player.play("show") + +func _on_change_menu(menu_name: String) -> void: + _change_menu(menu_name) + +func _on_create_save(_save: String) -> void: + menu_mapping["SavesMenu"].reset_menu() + _close_pause_menu() + +func _on_load_save(_save: String) -> void: + menu_mapping["SavesMenu"].reset_menu() + _close_pause_menu() diff --git a/scenes/ui/pause_menu/pause_menu.gd.uid b/scenes/ui/pause_menu/pause_menu.gd.uid new file mode 100644 index 0000000..b426a1f --- /dev/null +++ b/scenes/ui/pause_menu/pause_menu.gd.uid @@ -0,0 +1 @@ +uid://domfn2obgmavw diff --git a/scenes/ui/pause_menu/pause_menu.tscn b/scenes/ui/pause_menu/pause_menu.tscn new file mode 100644 index 0000000..2f611cb --- /dev/null +++ b/scenes/ui/pause_menu/pause_menu.tscn @@ -0,0 +1,769 @@ +[gd_scene load_steps=25 format=3 uid="uid://by0gd600mbcr5"] + +[ext_resource type="Script" uid="uid://bwvwpiwhp52e" path="res://scenes/ui/pause_menu/main_menu.gd" id="1_4xojl"] +[ext_resource type="Script" uid="uid://domfn2obgmavw" path="res://scenes/ui/pause_menu/pause_menu.gd" id="1_ugqbi"] +[ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="2_0jq6q"] +[ext_resource type="Script" uid="uid://ccei1q7fb022x" path="res://scenes/ui/pause_menu/settings_menu.gd" id="2_ightw"] +[ext_resource type="PackedScene" uid="uid://cyxieflejsggu" path="res://scenes/ui/menus/saves_manager/save_files_list.tscn" id="4_c1aak"] +[ext_resource type="Script" uid="uid://di8dm3fdxfwo1" path="res://scenes/ui/pause_menu/saves_menu.gd" id="4_mym86"] +[ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/menus/saves_manager/save_file.tscn" id="5_mym86"] +[ext_resource type="Texture2D" uid="uid://ja8bc1h5x85o" path="res://assets/ui/save-normal.png" id="6_fjuhq"] +[ext_resource type="Texture2D" uid="uid://crqgyft4gfilt" path="res://assets/ui/save-pressed.png" id="7_uedyg"] +[ext_resource type="Texture2D" uid="uid://o3l0j53mgkan" path="res://assets/ui/save-hover.png" id="8_npsoq"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4xojl"] +bg_color = Color(0.176419, 0.176419, 0.176419, 0.462745) + +[sub_resource type="Animation" id="Animation_ightw"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-400, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_0jq6q"] +resource_name = "hide" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(-400, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_4xojl"] +resource_name = "show" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-400, 0), Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_0jq6q"] +_data = { +&"RESET": SubResource("Animation_ightw"), +&"hide": SubResource("Animation_0jq6q"), +&"show": SubResource("Animation_4xojl") +} + +[sub_resource type="Animation" id="Animation_vx2qe"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-400, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_q12vw"] +resource_name = "hide" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(-400, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_3mo8w"] +resource_name = "show" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-400, 0), Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_q12vw"] +_data = { +&"RESET": SubResource("Animation_vx2qe"), +&"hide": SubResource("Animation_q12vw"), +&"show": SubResource("Animation_3mo8w") +} + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ightw"] +content_margin_left = 10.0 +content_margin_top = 10.0 +content_margin_right = 10.0 +content_margin_bottom = 10.0 +bg_color = Color(0, 0, 0, 0.27451) +corner_radius_top_left = 2 +corner_radius_top_right = 2 +corner_radius_bottom_right = 2 +corner_radius_bottom_left = 2 + +[sub_resource type="Animation" id="Animation_h2y1u"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-450, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_ba5iv"] +resource_name = "hide" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(-450, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_ugqbi"] +resource_name = "show" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-450, 0), Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_h2y1u"] +_data = { +&"RESET": SubResource("Animation_h2y1u"), +&"hide": SubResource("Animation_ba5iv"), +&"show": SubResource("Animation_ugqbi") +} + +[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_override_styles/panel = SubResource("StyleBoxFlat_4xojl") +script = ExtResource("1_ugqbi") + +[node name="MainMenu" type="ColorRect" parent="." node_paths=PackedStringArray("animation_player")] +visible = false +custom_minimum_size = Vector2(400, 0) +layout_mode = 1 +anchors_preset = 9 +anchor_bottom = 1.0 +offset_left = -400.0 +grow_vertical = 2 +color = Color(0.133333, 0.133333, 0.133333, 0.784314) +script = ExtResource("1_4xojl") +animation_player = NodePath("AnimationPlayer") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="MainMenu"] +libraries = { +&"": SubResource("AnimationLibrary_0jq6q") +} +autoplay = "RESET" + +[node name="MainContent" type="MarginContainer" parent="MainMenu"] +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="MenuContainer" type="VBoxContainer" parent="MainMenu/MainContent"] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_constants/separation = 20 + +[node name="Title" type="Label" parent="MainMenu/MainContent/MenuContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "Paused" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ButtonsContainer" type="VBoxContainer" parent="MainMenu/MainContent/MenuContainer"] +layout_mode = 2 +size_flags_vertical = 6 +theme_override_constants/separation = 20 + +[node name="ResumeButton" type="Button" parent="MainMenu/MainContent/MenuContainer/ButtonsContainer"] +layout_mode = 2 +text = "Resume" + +[node name="SavesButton" type="Button" parent="MainMenu/MainContent/MenuContainer/ButtonsContainer"] +layout_mode = 2 +text = "Saves" + +[node name="SettingsButton" type="Button" parent="MainMenu/MainContent/MenuContainer/ButtonsContainer"] +layout_mode = 2 +text = "Settings" + +[node name="ExitGameButton" type="Button" parent="MainMenu/MainContent/MenuContainer/ButtonsContainer"] +layout_mode = 2 +text = "Exit Game" + +[node name="SettingsMenu" type="ColorRect" parent="." node_paths=PackedStringArray("autosaves_input", "block_highlight_input", "held_block_ui_input", "quick_slots_ui_input", "screenshot_icon_input", "waila_input", "resolution_input", "fullscreen_input", "vsync_input", "fov_slider", "fov_value_label", "animation_player")] +visible = false +custom_minimum_size = Vector2(400, 0) +layout_mode = 1 +anchors_preset = 9 +anchor_bottom = 1.0 +offset_left = -400.0 +grow_vertical = 2 +color = Color(0.133333, 0.133333, 0.133333, 0.784314) +script = ExtResource("2_ightw") +autosaves_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/Autosaves/CheckButton") +block_highlight_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/BlockHighlight/CheckButton") +held_block_ui_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI/CheckButton") +quick_slots_ui_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI/CheckButton") +screenshot_icon_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon/CheckButton") +waila_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/Waila/CheckButton") +resolution_input = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/Resolution/OptionButton") +fullscreen_input = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/Fullscreen/CheckBox") +vsync_input = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/VSync/CheckBox") +fov_slider = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/FOV/HSlider") +fov_value_label = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/FOV/Value") +animation_player = NodePath("AnimationPlayer") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="SettingsMenu"] +libraries = { +&"": SubResource("AnimationLibrary_q12vw") +} +autoplay = "RESET" + +[node name="MainContent" type="MarginContainer" parent="SettingsMenu"] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -155.0 +offset_right = 155.0 +offset_bottom = 310.0 +grow_horizontal = 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="VBoxContainer" type="VBoxContainer" parent="SettingsMenu/MainContent"] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_constants/separation = 20 + +[node name="Title" type="Label" parent="SettingsMenu/MainContent/VBoxContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "Settings" +horizontal_alignment = 1 + +[node name="TabContainer" type="TabContainer" parent="SettingsMenu/MainContent/VBoxContainer"] +layout_mode = 2 +theme_override_constants/side_margin = 0 +theme_override_styles/panel = SubResource("StyleBoxFlat_ightw") +current_tab = 0 +clip_tabs = false + +[node name="Game" type="VBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer"] +layout_mode = 2 +metadata/_tab_index = 0 + +[node name="BlockHighlight" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game"] +layout_mode = 2 + +[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/BlockHighlight"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Enable Block Highlighting" + +[node name="CheckButton" type="CheckButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/BlockHighlight"] +layout_mode = 2 +button_pressed = true + +[node name="Waila" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game"] +layout_mode = 2 + +[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/Waila"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Enable Waila" + +[node name="CheckButton" type="CheckButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/Waila"] +layout_mode = 2 +button_pressed = true + +[node name="QuickslotsUI" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game"] +layout_mode = 2 + +[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Enable Quickslots UI" + +[node name="CheckButton" type="CheckButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI"] +layout_mode = 2 +button_pressed = true + +[node name="HeldBlockUI" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game"] +layout_mode = 2 + +[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Enable Player Held Block" + +[node name="CheckButton" type="CheckButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI"] +layout_mode = 2 +button_pressed = true + +[node name="ScreenshotIcon" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game"] +layout_mode = 2 + +[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon"] +layout_mode = 2 +size_flags_horizontal = 3 +tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." +mouse_filter = 1 +text = "Enable Save Screenshot" + +[node name="CheckButton" type="CheckButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon"] +layout_mode = 2 +tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." +button_pressed = true + +[node name="Autosaves" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game"] +layout_mode = 2 + +[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/Autosaves"] +layout_mode = 2 +size_flags_horizontal = 3 +tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." +mouse_filter = 1 +text = "Enable Autosaves" + +[node name="CheckButton" type="CheckButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/Autosaves"] +layout_mode = 2 +tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." +button_pressed = true + +[node name="Graphics" type="VBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer"] +visible = false +layout_mode = 2 +metadata/_tab_index = 1 + +[node name="Resolution" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics"] +layout_mode = 2 + +[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/Resolution"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Resolution" + +[node name="OptionButton" type="OptionButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/Resolution"] +layout_mode = 2 +selected = 0 +item_count = 6 +popup/item_0/text = "1280x720" +popup/item_0/id = 0 +popup/item_1/text = "1280x800" +popup/item_1/id = 4 +popup/item_2/text = "1920x1080" +popup/item_2/id = 1 +popup/item_3/text = "2560x1440" +popup/item_3/id = 2 +popup/item_4/text = "3440x1440" +popup/item_4/id = 3 +popup/item_5/text = "3840 x 2160" +popup/item_5/id = 5 + +[node name="Fullscreen" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics"] +layout_mode = 2 + +[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/Fullscreen"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Fullscreen" + +[node name="CheckBox" type="CheckBox" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/Fullscreen"] +layout_mode = 2 + +[node name="VSync" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics"] +layout_mode = 2 + +[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/VSync"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "VSync" + +[node name="CheckBox" type="CheckBox" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/VSync"] +layout_mode = 2 + +[node name="FOV" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics"] +layout_mode = 2 + +[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/FOV"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "FOV" + +[node name="HSlider" type="HSlider" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/FOV"] +layout_mode = 2 +size_flags_horizontal = 3 +min_value = 60.0 +max_value = 120.0 +value = 75.0 +rounded = true +ticks_on_borders = true + +[node name="Value" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/FOV"] +layout_mode = 2 +text = "75" + +[node name="HSeparator" type="HSeparator" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics"] +layout_mode = 2 +theme_override_constants/separation = 20 + +[node name="CenterContainer" type="CenterContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics"] +layout_mode = 2 + +[node name="ApplyButton" type="Button" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/CenterContainer"] +layout_mode = 2 +text = "Apply/Save" + +[node name="Audio" type="VBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer"] +visible = false +layout_mode = 2 +metadata/_tab_index = 2 + +[node name="Inputs" type="VBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer"] +visible = false +layout_mode = 2 +metadata/_tab_index = 3 + +[node name="BottomRow" type="MarginContainer" parent="SettingsMenu"] +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 = -46.0 +offset_right = 82.5 +grow_horizontal = 2 +grow_vertical = 0 +theme_override_constants/margin_bottom = 10 + +[node name="CloseButton" type="Button" parent="SettingsMenu/BottomRow"] +custom_minimum_size = Vector2(141, 36) +layout_mode = 2 +theme = ExtResource("2_0jq6q") +text = "Close Settings" + +[node name="SavesMenu" type="ColorRect" parent="." node_paths=PackedStringArray("show_save_ui_button", "new_save_ui", "save_name_input", "create_save_button", "create_save_cancel_button", "save_files_list_ui", "animation_player")] +visible = false +custom_minimum_size = Vector2(450, 0) +layout_mode = 1 +anchors_preset = 9 +anchor_bottom = 1.0 +offset_left = -450.0 +grow_vertical = 2 +color = Color(0.133333, 0.133333, 0.133333, 0.784314) +script = ExtResource("4_mym86") +show_save_ui_button = NodePath("MarginContainer/VBoxContainer/BottomRow/SaveButton") +new_save_ui = NodePath("NewSaveUI") +save_name_input = NodePath("NewSaveUI/MarginContainer/VBoxContainer/SaveNameInput") +create_save_button = NodePath("NewSaveUI/MarginContainer/VBoxContainer/SaveButton") +create_save_cancel_button = NodePath("NewSaveUI/MarginContainer/VBoxContainer/CancelButton") +save_files_list_ui = NodePath("MarginContainer/VBoxContainer/ScrollContainer/SaveFilesList") +animation_player = NodePath("AnimationPlayer") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="SavesMenu"] +libraries = { +&"": SubResource("AnimationLibrary_h2y1u") +} +autoplay = "RESET" + +[node name="MarginContainer" type="MarginContainer" parent="SavesMenu"] +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 = 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="SavesMenu/MarginContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="SavesMenu/MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "Save/Load Game" +horizontal_alignment = 1 + +[node name="ScrollContainer" type="ScrollContainer" parent="SavesMenu/MarginContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 500) +layout_mode = 2 +horizontal_scroll_mode = 0 + +[node name="SaveFilesList" parent="SavesMenu/MarginContainer/VBoxContainer/ScrollContainer" instance=ExtResource("4_c1aak")] +layout_mode = 2 +size_flags_horizontal = 6 + +[node name="SaveFilePanel" parent="SavesMenu/MarginContainer/VBoxContainer/ScrollContainer/SaveFilesList" instance=ExtResource("5_mym86")] +layout_mode = 2 + +[node name="BottomRow" type="HBoxContainer" parent="SavesMenu/MarginContainer/VBoxContainer"] +layout_mode = 2 +alignment = 1 + +[node name="SaveButton" type="TextureButton" parent="SavesMenu/MarginContainer/VBoxContainer/BottomRow"] +clip_contents = true +custom_minimum_size = Vector2(32, 32) +layout_mode = 2 +tooltip_text = "New Save" +texture_normal = ExtResource("6_fjuhq") +texture_pressed = ExtResource("7_uedyg") +texture_hover = ExtResource("8_npsoq") +ignore_texture_size = true +stretch_mode = 5 + +[node name="NewSaveUI" type="Panel" parent="SavesMenu"] +visible = false +custom_minimum_size = Vector2(450, 100) +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="MarginContainer" type="MarginContainer" parent="SavesMenu/NewSaveUI"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -205.0 +offset_top = -29.5 +offset_right = 205.0 +offset_bottom = 29.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 5 +theme_override_constants/margin_top = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 + +[node name="VBoxContainer" type="VBoxContainer" parent="SavesMenu/NewSaveUI/MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 + +[node name="SaveNameLabel" type="Label" parent="SavesMenu/NewSaveUI/MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 20 +text = "Create New Save" + +[node name="SaveNameInput" type="LineEdit" parent="SavesMenu/NewSaveUI/MarginContainer/VBoxContainer"] +custom_minimum_size = Vector2(400, 0) +layout_mode = 2 +placeholder_text = "New Save File Name" + +[node name="SaveButton" type="Button" parent="SavesMenu/NewSaveUI/MarginContainer/VBoxContainer"] +layout_mode = 2 +text = "Create Save" + +[node name="CancelButton" type="Button" parent="SavesMenu/NewSaveUI/MarginContainer/VBoxContainer"] +layout_mode = 2 +text = "Cancel" + +[connection signal="pressed" from="MainMenu/MainContent/MenuContainer/ButtonsContainer/ResumeButton" to="MainMenu" method="_on_resume_button_pressed"] +[connection signal="pressed" from="MainMenu/MainContent/MenuContainer/ButtonsContainer/SavesButton" to="MainMenu" method="_on_saves_button_pressed"] +[connection signal="pressed" from="MainMenu/MainContent/MenuContainer/ButtonsContainer/SettingsButton" to="MainMenu" method="_on_settings_button_pressed"] +[connection signal="pressed" from="MainMenu/MainContent/MenuContainer/ButtonsContainer/ExitGameButton" to="MainMenu" method="_on_exit_game_button_pressed"] +[connection signal="toggled" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/BlockHighlight/CheckButton" to="SettingsMenu" method="_on_block_highlighting_toggled"] +[connection signal="toggled" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/Waila/CheckButton" to="SettingsMenu" method="_on_enable_waila_toggled"] +[connection signal="toggled" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI/CheckButton" to="SettingsMenu" method="_on_quickslots_ui_toggled"] +[connection signal="toggled" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI/CheckButton" to="SettingsMenu" method="_on_held_block_ui_toggled"] +[connection signal="toggled" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon/CheckButton" to="SettingsMenu" method="_on_screenshot_icon_button_toggled"] +[connection signal="toggled" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/Autosaves/CheckButton" to="SettingsMenu" method="_on_autosaves_button_toggled"] +[connection signal="changed" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/FOV/HSlider" to="SettingsMenu" method="_on_fov_slider_changed"] +[connection signal="pressed" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/CenterContainer/ApplyButton" to="SettingsMenu" method="_on_graphics_apply_button_pressed"] +[connection signal="pressed" from="SettingsMenu/BottomRow/CloseButton" to="SettingsMenu" method="_on_close_button_pressed"] diff --git a/scenes/ui/pause_menu/saves_menu.gd b/scenes/ui/pause_menu/saves_menu.gd new file mode 100644 index 0000000..8edd9cc --- /dev/null +++ b/scenes/ui/pause_menu/saves_menu.gd @@ -0,0 +1,55 @@ +class_name PauseMenuSaves +extends BaseMenu + +signal close_save_list +signal open_save_list + + +@export var show_save_ui_button: BaseButton +@export var new_save_ui: Control +@export var save_name_input: LineEdit +@export var create_save_button: BaseButton +@export var create_save_cancel_button: BaseButton + +@export var ui_node: CanvasLayer ## The UI to Show/Hide when taking screenshot (e.g. save icon generation) +@export var save_files_list_ui: SaveFilesListUI + + +func init() -> void: + super.init() + show_save_ui_button.pressed.connect(_on_show_save_ui_button_pressed) + create_save_button.pressed.connect(_on_create_save_button_pressed) + create_save_cancel_button.pressed.connect(_on_create_save_cancel_button_pressed) + + pause_menu.open_menu.connect(_on_open_menu) + + +#func open_menu() -> void: +# save_files_list_ui.refresh_saves_list() +# super.open_menu() + + +func _on_create_save_button_pressed() -> void: + var save_name: String = save_name_input.text + if save_name.strip_edges() == "": + save_name = Time.get_datetime_string_from_system(false, true) + + #if ui_node != null: + # ui_node.visible = false + # await get_tree().create_timer(.150).timeout # A hack to allow time for UI to hide before taking screenshot + SaveGameManager.create_save.emit(save_name) + #if ui_node != null: + # ui_node.visible = true + new_save_ui.hide() + SignalManager.resume_game.emit() + +func _on_create_save_cancel_button_pressed() -> void: + new_save_ui.hide() + +func _on_open_menu(menu_name: String) -> void: + if menu_name == name: + save_files_list_ui.refresh_saves_list() + +func _on_show_save_ui_button_pressed() -> void: + save_name_input.text = Time.get_datetime_string_from_system(false, true) + new_save_ui.show() diff --git a/scenes/ui/pause_menu/saves_menu.gd.uid b/scenes/ui/pause_menu/saves_menu.gd.uid new file mode 100644 index 0000000..48e64f4 --- /dev/null +++ b/scenes/ui/pause_menu/saves_menu.gd.uid @@ -0,0 +1 @@ +uid://di8dm3fdxfwo1 diff --git a/scenes/ui/pause_menu/settings_menu.gd b/scenes/ui/pause_menu/settings_menu.gd new file mode 100644 index 0000000..d8ae936 --- /dev/null +++ b/scenes/ui/pause_menu/settings_menu.gd @@ -0,0 +1,97 @@ +class_name PauseMenuSettings +extends BaseMenu + + +@export_group("Game Option Nodes") +@export var autosaves_input: CheckButton +@export var block_highlight_input: CheckButton +@export var held_block_ui_input: CheckButton +@export var quick_slots_ui_input: CheckButton +@export var screenshot_icon_input: CheckButton +@export var waila_input: CheckButton + +@export_group("Graphics Settings Nodes") +@export var resolution_input: OptionButton +@export var fullscreen_input: CheckBox +@export var vsync_input: CheckBox +@export var fov_slider: HSlider +@export var fov_value_label: Label + + +func init() -> void: + super.init() + + apply_default_values() + + +## Sets the default values of all the inputs +func apply_default_values() -> void: + #region Game Options + autosaves_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_autosaves) + block_highlight_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_block_highlight) + held_block_ui_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_held_block) + quick_slots_ui_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_quickslots_ui) + screenshot_icon_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_save_screenshots) + waila_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_waila) + #endregion + + #region Graphics Settings + # Changing the FOV value should trigger the value_changed signal which should update the camera and label automatically + fov_slider.value = GameSettingsManager.settings.graphics.fov + fullscreen_input.set_pressed_no_signal(GameSettingsManager.settings.graphics.fullscreen) + vsync_input.set_pressed_no_signal(GameSettingsManager.settings.graphics.vsync) + + var current_resolution_index: int = resolution_input.get_item_index(GameSettingsManager.settings.graphics.resolution_id) + resolution_input.select(current_resolution_index) + #endregion + + + +#region Game Settings +func _on_block_highlighting_toggled(toggled_on: bool) -> void: + GameSettingsManager.game_options_block_highlight_changed.emit(toggled_on) + +func _on_held_block_ui_toggled(toggled_on: bool) -> void: + GameSettingsManager.game_options_held_block_ui_changed.emit(toggled_on) + +func _on_quickslots_ui_toggled(toggled_on: bool) -> void: + GameSettingsManager.game_options_quickslots_ui_changed.emit(toggled_on) + +func _on_enable_waila_toggled(toggled_on: bool) -> void: + GameSettingsManager.game_options_waila_changed.emit(toggled_on) + +func _on_screenshot_icon_button_toggled(toggled_on: bool) -> void: + GameSettingsManager.game_options_screenshot_saves_changed.emit(toggled_on) + SaveGameManager.toggle_save_icon_generation.emit(toggled_on) + +func _on_autosaves_button_toggled(toggled_on: bool) -> void: + if toggled_on: + SaveGameManager.enable_autosaves.emit() + else: + SaveGameManager.disable_autosaves.emit() +#endregion + +#region Graphics Settings +func _on_fov_slider_changed(value: float) -> void: + fov_value_label.text = str(int(value)) + GameSettingsManager.graphics_fov_changed.emit(int(fov_slider.value)) + +func _on_graphics_apply_button_pressed() -> void: + var values: Array = resolution_input.text.split_floats("x") + var id: int = resolution_input.get_selected_id() + + GameSettingsManager.graphics_resolution_changed.emit(Vector2i(values[0], values[1]), id) + GameSettingsManager.graphics_fullscreen_changed.emit(fullscreen_input.button_pressed) + GameSettingsManager.graphics_vsync_changed.emit(vsync_input.button_pressed) + GameSettingsManager.apply_graphics_settings.emit() +#endregion + +#region Audio Settings +#endregion + +#region Input Settings +#endregion + + +func _on_close_button_pressed() -> void: + pause_menu.open_menu.emit("MainMenu") diff --git a/scenes/ui/pause_menu/settings_menu.gd.uid b/scenes/ui/pause_menu/settings_menu.gd.uid new file mode 100644 index 0000000..5c86812 --- /dev/null +++ b/scenes/ui/pause_menu/settings_menu.gd.uid @@ -0,0 +1 @@ +uid://ccei1q7fb022x diff --git a/scenes/ui/ui.gd b/scenes/ui/ui.gd index 3bf674d..ca3f8fa 100644 --- a/scenes/ui/ui.gd +++ b/scenes/ui/ui.gd @@ -5,82 +5,52 @@ extends CanvasLayer @onready var crosshair: CenterContainer = $Crosshair @onready var quick_slots: MarginContainer = $QuickSlots @onready var pause_menu: PauseMenu = $PauseMenu -@onready var save_load_ui: SaveLoadUI = $SaveLoadUI -@onready var settings_menu: SettingsMenu = $SettingsMenu @onready var waila: Waila = $Waila func _ready() -> void: - SignalManager.close_pause_menu.connect(_on_close_pause_menu) - SignalManager.open_pause_menu.connect(_on_open_pause_menu) - SignalManager.close_settings_menu.connect(_on_close_settings_menu) - SignalManager.open_settings_menu.connect(_on_open_settings_menu) - SignalManager.resume_game.connect(_on_resume_game) - - save_load_ui.close_save_list.connect(_on_close_save_list_ui) - save_load_ui.open_save_list.connect(_on_open_save_list_ui) - SaveGameManager.load_complete.connect(_on_load_complete) + SignalManager.pause_game.connect(_on_pause_game) + SignalManager.resume_game.connect(_on_resume_game) - _on_resume_game() + resume_game() func hide_menus() -> void: pause_menu.visible = false - settings_menu.visible = false - save_load_ui.visible = false + +func show_menus() -> void: + pause_menu.visible = true + func hide_ui_elements() -> void: crosshair.visible = false quick_slots.visible = false waila.visible = false +func show_ui_elements() -> void: + crosshair.visible = true + quick_slots.visible = true and GameSettingsManager.settings.game_options.enable_quickslots_ui + waila.visible = true -func _on_close_pause_menu() -> void: - SignalManager.resume_game.emit() - -func _on_close_save_list_ui() -> void: - SignalManager.open_settings_menu.emit() - -func _on_close_settings_menu() -> void: - SignalManager.resume_game.emit() - -func _on_load_complete() -> void: - _on_resume_game() - -func _on_open_pause_menu() -> void: - Input.mouse_mode = Input.MOUSE_MODE_VISIBLE - - hide_ui_elements() - hide_menus() - pause_menu.visible = true +func pause_game() -> void: + show_menus() get_tree().paused = true - -func _on_open_save_list_ui() -> void: - Input.mouse_mode = Input.MOUSE_MODE_VISIBLE - hide_ui_elements() + +func resume_game() -> void: hide_menus() - save_load_ui.visible = true + show_ui_elements() - get_tree().paused = true + get_tree().paused = false -func _on_open_settings_menu() -> void: - Input.mouse_mode = Input.MOUSE_MODE_VISIBLE - hide_ui_elements() - hide_menus() - settings_menu.visible = true +func _on_load_complete() -> void: + resume_game() - get_tree().paused = true +func _on_pause_game() -> void: + pause_game() func _on_resume_game() -> void: - Input.mouse_mode = Input.MOUSE_MODE_CAPTURED - - hide_menus() - crosshair.visible = true - quick_slots.visible = true and GameSettingsManager.settings.game_options.enable_quickslots_ui - waila.visible = true - - get_tree().paused = false + resume_game() diff --git a/scenes/ui/ui.tscn b/scenes/ui/ui.tscn index 3db600e..3109d97 100644 --- a/scenes/ui/ui.tscn +++ b/scenes/ui/ui.tscn @@ -1,12 +1,10 @@ -[gd_scene load_steps=8 format=3 uid="uid://c7fj7wla8bd70"] +[gd_scene load_steps=6 format=3 uid="uid://c7fj7wla8bd70"] [ext_resource type="Script" uid="uid://bslimr2y4lnvq" path="res://scenes/ui/ui.gd" id="1_aac20"] [ext_resource type="PackedScene" uid="uid://dvogu3djluqsn" path="res://scenes/ui/waila.tscn" id="1_u7n8c"] [ext_resource type="PackedScene" uid="uid://cbiygbgpfk220" path="res://scenes/ui/quick_slots.tscn" id="4_g5kmx"] -[ext_resource type="PackedScene" uid="uid://bopvfwcgnnawg" path="res://scenes/ui/menus/pause_menu.tscn" id="6_7vp6q"] -[ext_resource type="PackedScene" uid="uid://4bdgwwx27m71" path="res://scenes/ui/menus/settings_menu.tscn" id="7_7vp6q"] +[ext_resource type="PackedScene" uid="uid://by0gd600mbcr5" path="res://scenes/ui/pause_menu/pause_menu.tscn" id="5_0dwhk"] [ext_resource type="PackedScene" uid="uid://rfknvv8b0d4i" path="res://scenes/ui/autosave_notification.tscn" id="7_jcn1r"] -[ext_resource type="PackedScene" uid="uid://dauchkhmnyk7n" path="res://scenes/ui/menus/saves_manager/save_load_ui.tscn" id="8_jcn1r"] [node name="UI" type="CanvasLayer"] script = ExtResource("1_aac20") @@ -32,16 +30,8 @@ mouse_filter = 2 [node name="QuickSlots" parent="." instance=ExtResource("4_g5kmx")] -[node name="PauseMenu" parent="." node_paths=PackedStringArray("save_load_ui") instance=ExtResource("6_7vp6q")] -visible = false -save_load_ui = NodePath("../SaveLoadUI") - -[node name="SettingsMenu" parent="." instance=ExtResource("7_7vp6q")] -visible = false - -[node name="SaveLoadUI" parent="." node_paths=PackedStringArray("ui_node") instance=ExtResource("8_jcn1r")] +[node name="AutosaveNotification" parent="." instance=ExtResource("7_jcn1r")] visible = false -ui_node = NodePath("..") -[node name="AutosaveNotification" parent="." instance=ExtResource("7_jcn1r")] +[node name="PauseMenu" parent="." instance=ExtResource("5_0dwhk")] visible = false From d9bdcc87c3017dde7153fca1310ada95c9619df0 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sat, 29 Mar 2025 21:20:56 -0400 Subject: [PATCH 02/17] Removing old menu scenes and renaming new menu --- scenes/ui/menus/pause_menu.gd | 32 -- scenes/ui/menus/pause_menu.gd.uid | 1 - scenes/ui/menus/pause_menu.tscn | 75 ----- scenes/ui/menus/settings_menu.gd | 94 ------ scenes/ui/menus/settings_menu.gd.uid | 1 - scenes/ui/menus/settings_menu.tscn | 283 ------------------ scenes/ui/pause_menu/pause_menu.tscn | 4 +- .../saves_manager/save_file.gd | 0 .../saves_manager/save_file.gd.uid | 0 .../saves_manager/save_file.tscn | 2 +- .../saves_manager/save_files_list.gd | 0 .../saves_manager/save_files_list.gd.uid | 0 .../saves_manager/save_files_list.tscn | 4 +- .../saves_manager/save_load_ui.gd | 0 .../saves_manager/save_load_ui.gd.uid | 0 .../saves_manager/save_load_ui.tscn | 6 +- 16 files changed, 8 insertions(+), 494 deletions(-) delete mode 100644 scenes/ui/menus/pause_menu.gd delete mode 100644 scenes/ui/menus/pause_menu.gd.uid delete mode 100644 scenes/ui/menus/pause_menu.tscn delete mode 100644 scenes/ui/menus/settings_menu.gd delete mode 100644 scenes/ui/menus/settings_menu.gd.uid delete mode 100644 scenes/ui/menus/settings_menu.tscn rename scenes/ui/{menus => pause_menu}/saves_manager/save_file.gd (100%) rename scenes/ui/{menus => pause_menu}/saves_manager/save_file.gd.uid (100%) rename scenes/ui/{menus => pause_menu}/saves_manager/save_file.tscn (98%) rename scenes/ui/{menus => pause_menu}/saves_manager/save_files_list.gd (100%) rename scenes/ui/{menus => pause_menu}/saves_manager/save_files_list.gd.uid (100%) rename scenes/ui/{menus => pause_menu}/saves_manager/save_files_list.tscn (71%) rename scenes/ui/{menus => pause_menu}/saves_manager/save_load_ui.gd (100%) rename scenes/ui/{menus => pause_menu}/saves_manager/save_load_ui.gd.uid (100%) rename scenes/ui/{menus => pause_menu}/saves_manager/save_load_ui.tscn (95%) diff --git a/scenes/ui/menus/pause_menu.gd b/scenes/ui/menus/pause_menu.gd deleted file mode 100644 index 921b179..0000000 --- a/scenes/ui/menus/pause_menu.gd +++ /dev/null @@ -1,32 +0,0 @@ -class_name PauseMenu -extends Panel - -@export var save_load_ui: SaveLoadUI - - -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_settings_button_pressed() -> void: - SignalManager.open_settings_menu.emit() - -func _on_saves_button_pressed() -> void: - save_load_ui.open_save_list.emit() diff --git a/scenes/ui/menus/pause_menu.gd.uid b/scenes/ui/menus/pause_menu.gd.uid deleted file mode 100644 index 9c7340d..0000000 --- a/scenes/ui/menus/pause_menu.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://d3ysjgxxmyqpw diff --git a/scenes/ui/menus/pause_menu.tscn b/scenes/ui/menus/pause_menu.tscn deleted file mode 100644 index 9b7974f..0000000 --- a/scenes/ui/menus/pause_menu.tscn +++ /dev/null @@ -1,75 +0,0 @@ -[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/menus/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="Background" 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="Background"] -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="MenuContainer" type="VBoxContainer" parent="Background/MarginContainer"] -layout_mode = 2 -size_flags_horizontal = 4 -theme_override_constants/separation = 20 - -[node name="Title" type="Label" parent="Background/MarginContainer/MenuContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 40 -text = "Paused" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="ButtonsContainer" type="VBoxContainer" parent="Background/MarginContainer/MenuContainer"] -layout_mode = 2 -size_flags_vertical = 6 -theme_override_constants/separation = 20 - -[node name="ResumeButton" type="Button" parent="Background/MarginContainer/MenuContainer/ButtonsContainer"] -layout_mode = 2 -text = "Resume" - -[node name="SavesButton" type="Button" parent="Background/MarginContainer/MenuContainer/ButtonsContainer"] -layout_mode = 2 -text = "Saves" - -[node name="SettingsButton" type="Button" parent="Background/MarginContainer/MenuContainer/ButtonsContainer"] -layout_mode = 2 -text = "Settings" - -[node name="ExitGameButton" type="Button" parent="Background/MarginContainer/MenuContainer/ButtonsContainer"] -layout_mode = 2 -text = "Exit Game" - -[connection signal="pressed" from="Background/MarginContainer/MenuContainer/ButtonsContainer/ResumeButton" to="." method="_on_resume_button_pressed"] -[connection signal="pressed" from="Background/MarginContainer/MenuContainer/ButtonsContainer/SavesButton" to="." method="_on_saves_button_pressed"] -[connection signal="pressed" from="Background/MarginContainer/MenuContainer/ButtonsContainer/SettingsButton" to="." method="_on_settings_button_pressed"] -[connection signal="pressed" from="Background/MarginContainer/MenuContainer/ButtonsContainer/ExitGameButton" to="." method="_on_exit_game_button_pressed"] diff --git a/scenes/ui/menus/settings_menu.gd b/scenes/ui/menus/settings_menu.gd deleted file mode 100644 index 0d5588e..0000000 --- a/scenes/ui/menus/settings_menu.gd +++ /dev/null @@ -1,94 +0,0 @@ -class_name SettingsMenu -extends Panel - - -@export_group("Game Option Nodes") -@export var autosaves_input: CheckButton -@export var block_highlight_input: CheckButton -@export var held_block_ui_input: CheckButton -@export var quick_slots_ui_input: CheckButton -@export var screenshot_icon_input: CheckButton -@export var waila_input: CheckButton - -@export_group("Graphics Settings Nodes") -@export var resolution_input: OptionButton -@export var fullscreen_input: CheckBox -@export var vsync_input: CheckBox -@export var fov_slider: HSlider -@export var fov_value_label: Label - - -func _ready() -> void: - apply_default_values() - - -## Sets the default values of all the inputs -func apply_default_values() -> void: - #region Game Options - autosaves_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_autosaves) - block_highlight_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_block_highlight) - held_block_ui_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_held_block) - quick_slots_ui_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_quickslots_ui) - screenshot_icon_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_save_screenshots) - waila_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_waila) - #endregion - - #region Graphics Settings - # Changing the FOV value should trigger the value_changed signal which should update the camera and label automatically - fov_slider.value = GameSettingsManager.settings.graphics.fov - fullscreen_input.set_pressed_no_signal(GameSettingsManager.settings.graphics.fullscreen) - vsync_input.set_pressed_no_signal(GameSettingsManager.settings.graphics.vsync) - - var current_resolution_index: int = resolution_input.get_item_index(GameSettingsManager.settings.graphics.resolution_id) - resolution_input.select(current_resolution_index) - #endregion - - -#region Game Settings -func _on_block_highlighting_toggled(toggled_on: bool) -> void: - GameSettingsManager.game_options_block_highlight_changed.emit(toggled_on) - -func _on_held_block_ui_toggled(toggled_on: bool) -> void: - GameSettingsManager.game_options_held_block_ui_changed.emit(toggled_on) - -func _on_quickslots_ui_toggled(toggled_on: bool) -> void: - GameSettingsManager.game_options_quickslots_ui_changed.emit(toggled_on) - -func _on_enable_waila_toggled(toggled_on: bool) -> void: - GameSettingsManager.game_options_waila_changed.emit(toggled_on) - -func _on_screenshot_icon_button_toggled(toggled_on: bool) -> void: - GameSettingsManager.game_options_screenshot_saves_changed.emit(toggled_on) - SaveGameManager.toggle_save_icon_generation.emit(toggled_on) - -func _on_autosaves_button_toggled(toggled_on: bool) -> void: - if toggled_on: - SaveGameManager.enable_autosaves.emit() - else: - SaveGameManager.disable_autosaves.emit() -#endregion - -#region Graphics Settings -func _on_fov_slider_changed(value: float) -> void: - fov_value_label.text = str(int(value)) - GameSettingsManager.graphics_fov_changed.emit(int(fov_slider.value)) - -func _on_graphics_apply_button_pressed() -> void: - var values: Array = resolution_input.text.split_floats("x") - var id: int = resolution_input.get_selected_id() - - GameSettingsManager.graphics_resolution_changed.emit(Vector2i(values[0], values[1]), id) - GameSettingsManager.graphics_fullscreen_changed.emit(fullscreen_input.button_pressed) - GameSettingsManager.graphics_vsync_changed.emit(vsync_input.button_pressed) - GameSettingsManager.apply_graphics_settings.emit() -#endregion - -#region Audio Settings -#endregion - -#region Input Settings -#endregion - - -func _on_close_button_pressed() -> void: - SignalManager.resume_game.emit() diff --git a/scenes/ui/menus/settings_menu.gd.uid b/scenes/ui/menus/settings_menu.gd.uid deleted file mode 100644 index 9866805..0000000 --- a/scenes/ui/menus/settings_menu.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://37ftrpj14msn diff --git a/scenes/ui/menus/settings_menu.tscn b/scenes/ui/menus/settings_menu.tscn deleted file mode 100644 index 746ed71..0000000 --- a/scenes/ui/menus/settings_menu.tscn +++ /dev/null @@ -1,283 +0,0 @@ -[gd_scene load_steps=4 format=3 uid="uid://4bdgwwx27m71"] - -[ext_resource type="Script" uid="uid://37ftrpj14msn" path="res://scenes/ui/menus/settings_menu.gd" id="1_qwcqe"] -[ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="2_mhswj"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_80b2v"] -content_margin_left = 10.0 -content_margin_top = 10.0 -content_margin_right = 10.0 -content_margin_bottom = 10.0 -bg_color = Color(0, 0, 0, 0.27451) -corner_radius_top_left = 2 -corner_radius_top_right = 2 -corner_radius_bottom_right = 2 -corner_radius_bottom_left = 2 - -[node name="SettingsMenu" type="Panel" node_paths=PackedStringArray("autosaves_input", "block_highlight_input", "held_block_ui_input", "quick_slots_ui_input", "screenshot_icon_input", "waila_input", "resolution_input", "fullscreen_input", "vsync_input", "fov_slider", "fov_value_label")] -process_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -script = ExtResource("1_qwcqe") -autosaves_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Game/Autosaves/CheckButton") -block_highlight_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Game/BlockHighlight/CheckButton") -held_block_ui_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Game/HeldBlockUI/CheckButton") -quick_slots_ui_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Game/QuickslotsUI/CheckButton") -screenshot_icon_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Game/ScreenshotIcon/CheckButton") -waila_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Game/Waila/CheckButton") -resolution_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Graphics/Resolution/OptionButton") -fullscreen_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Graphics/Fullscreen/CheckBox") -vsync_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Graphics/VSync/CheckBox") -fov_slider = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Graphics/FOV/HSlider") -fov_value_label = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Graphics/FOV/Value") -metadata/_edit_vertical_guides_ = [349.0] - -[node name="Background" 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="Background"] -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="VBoxContainer" type="VBoxContainer" parent="Background/MarginContainer"] -layout_mode = 2 -size_flags_horizontal = 4 -theme_override_constants/separation = 20 - -[node name="Title" type="Label" parent="Background/MarginContainer/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 40 -text = "Settings" -horizontal_alignment = 1 - -[node name="TabContainer" type="TabContainer" parent="Background/MarginContainer/VBoxContainer"] -layout_mode = 2 -theme_override_constants/side_margin = 0 -theme_override_styles/panel = SubResource("StyleBoxFlat_80b2v") -current_tab = 0 -clip_tabs = false - -[node name="Game" type="VBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer"] -layout_mode = 2 -metadata/_tab_index = 0 - -[node name="BlockHighlight" type="HBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game/BlockHighlight"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Enable Block Highlighting" - -[node name="CheckButton" type="CheckButton" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game/BlockHighlight"] -layout_mode = 2 -button_pressed = true - -[node name="Waila" type="HBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game/Waila"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Enable Waila" - -[node name="CheckButton" type="CheckButton" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game/Waila"] -layout_mode = 2 -button_pressed = true - -[node name="QuickslotsUI" type="HBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game/QuickslotsUI"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Enable Quickslots UI" - -[node name="CheckButton" type="CheckButton" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game/QuickslotsUI"] -layout_mode = 2 -button_pressed = true - -[node name="HeldBlockUI" type="HBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game/HeldBlockUI"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Enable Player Held Block" - -[node name="CheckButton" type="CheckButton" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game/HeldBlockUI"] -layout_mode = 2 -button_pressed = true - -[node name="ScreenshotIcon" type="HBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game/ScreenshotIcon"] -layout_mode = 2 -size_flags_horizontal = 3 -tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." -mouse_filter = 1 -text = "Enable Save Screenshot" - -[node name="CheckButton" type="CheckButton" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game/ScreenshotIcon"] -layout_mode = 2 -tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." -button_pressed = true - -[node name="Autosaves" type="HBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game/Autosaves"] -layout_mode = 2 -size_flags_horizontal = 3 -tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." -mouse_filter = 1 -text = "Enable Autosaves" - -[node name="CheckButton" type="CheckButton" parent="Background/MarginContainer/VBoxContainer/TabContainer/Game/Autosaves"] -layout_mode = 2 -tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." -button_pressed = true - -[node name="Graphics" type="VBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer"] -visible = false -layout_mode = 2 -metadata/_tab_index = 1 - -[node name="Resolution" type="HBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics/Resolution"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Resolution" - -[node name="OptionButton" type="OptionButton" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics/Resolution"] -layout_mode = 2 -selected = 0 -item_count = 6 -popup/item_0/text = "1280x720" -popup/item_0/id = 0 -popup/item_1/text = "1280x800" -popup/item_1/id = 4 -popup/item_2/text = "1920x1080" -popup/item_2/id = 1 -popup/item_3/text = "2560x1440" -popup/item_3/id = 2 -popup/item_4/text = "3440x1440" -popup/item_4/id = 3 -popup/item_5/text = "3840 x 2160" -popup/item_5/id = 5 - -[node name="Fullscreen" type="HBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics/Fullscreen"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Fullscreen" - -[node name="CheckBox" type="CheckBox" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics/Fullscreen"] -layout_mode = 2 - -[node name="VSync" type="HBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics/VSync"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "VSync" - -[node name="CheckBox" type="CheckBox" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics/VSync"] -layout_mode = 2 - -[node name="FOV" type="HBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics/FOV"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "FOV" - -[node name="HSlider" type="HSlider" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics/FOV"] -layout_mode = 2 -size_flags_horizontal = 3 -min_value = 60.0 -max_value = 120.0 -value = 75.0 -rounded = true -ticks_on_borders = true - -[node name="Value" type="Label" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics/FOV"] -layout_mode = 2 -text = "75" - -[node name="HSeparator" type="HSeparator" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics"] -layout_mode = 2 -theme_override_constants/separation = 20 - -[node name="CenterContainer" type="CenterContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics"] -layout_mode = 2 - -[node name="ApplyButton" type="Button" parent="Background/MarginContainer/VBoxContainer/TabContainer/Graphics/CenterContainer"] -layout_mode = 2 -text = "Apply/Save" - -[node name="Audio" type="VBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer"] -visible = false -layout_mode = 2 -metadata/_tab_index = 2 - -[node name="Inputs" type="VBoxContainer" parent="Background/MarginContainer/VBoxContainer/TabContainer"] -visible = false -layout_mode = 2 -metadata/_tab_index = 3 - -[node name="BottomRow" type="MarginContainer" parent="Background"] -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 = -46.0 -offset_right = 82.5 -grow_horizontal = 2 -grow_vertical = 0 -theme_override_constants/margin_bottom = 10 - -[node name="CloseButton" type="Button" parent="Background/BottomRow"] -custom_minimum_size = Vector2(141, 36) -layout_mode = 2 -theme = ExtResource("2_mhswj") -text = "Close Settings" - -[connection signal="toggled" from="Background/MarginContainer/VBoxContainer/TabContainer/Game/BlockHighlight/CheckButton" to="." method="_on_block_highlighting_toggled"] -[connection signal="toggled" from="Background/MarginContainer/VBoxContainer/TabContainer/Game/Waila/CheckButton" to="." method="_on_enable_waila_toggled"] -[connection signal="toggled" from="Background/MarginContainer/VBoxContainer/TabContainer/Game/QuickslotsUI/CheckButton" to="." method="_on_quickslots_ui_toggled"] -[connection signal="toggled" from="Background/MarginContainer/VBoxContainer/TabContainer/Game/HeldBlockUI/CheckButton" to="." method="_on_held_block_ui_toggled"] -[connection signal="toggled" from="Background/MarginContainer/VBoxContainer/TabContainer/Game/ScreenshotIcon/CheckButton" to="." method="_on_screenshot_icon_button_toggled"] -[connection signal="toggled" from="Background/MarginContainer/VBoxContainer/TabContainer/Game/Autosaves/CheckButton" to="." method="_on_autosaves_button_toggled"] -[connection signal="value_changed" from="Background/MarginContainer/VBoxContainer/TabContainer/Graphics/FOV/HSlider" to="." method="_on_fov_slider_changed"] -[connection signal="pressed" from="Background/MarginContainer/VBoxContainer/TabContainer/Graphics/CenterContainer/ApplyButton" to="." method="_on_graphics_apply_button_pressed"] -[connection signal="pressed" from="Background/BottomRow/CloseButton" to="." method="_on_close_button_pressed"] diff --git a/scenes/ui/pause_menu/pause_menu.tscn b/scenes/ui/pause_menu/pause_menu.tscn index 2f611cb..2643c94 100644 --- a/scenes/ui/pause_menu/pause_menu.tscn +++ b/scenes/ui/pause_menu/pause_menu.tscn @@ -4,9 +4,9 @@ [ext_resource type="Script" uid="uid://domfn2obgmavw" path="res://scenes/ui/pause_menu/pause_menu.gd" id="1_ugqbi"] [ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="2_0jq6q"] [ext_resource type="Script" uid="uid://ccei1q7fb022x" path="res://scenes/ui/pause_menu/settings_menu.gd" id="2_ightw"] -[ext_resource type="PackedScene" uid="uid://cyxieflejsggu" path="res://scenes/ui/menus/saves_manager/save_files_list.tscn" id="4_c1aak"] +[ext_resource type="PackedScene" uid="uid://cyxieflejsggu" path="res://scenes/ui/pause_menu/saves_manager/save_files_list.tscn" id="4_c1aak"] [ext_resource type="Script" uid="uid://di8dm3fdxfwo1" path="res://scenes/ui/pause_menu/saves_menu.gd" id="4_mym86"] -[ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/menus/saves_manager/save_file.tscn" id="5_mym86"] +[ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/pause_menu/saves_manager/save_file.tscn" id="5_mym86"] [ext_resource type="Texture2D" uid="uid://ja8bc1h5x85o" path="res://assets/ui/save-normal.png" id="6_fjuhq"] [ext_resource type="Texture2D" uid="uid://crqgyft4gfilt" path="res://assets/ui/save-pressed.png" id="7_uedyg"] [ext_resource type="Texture2D" uid="uid://o3l0j53mgkan" path="res://assets/ui/save-hover.png" id="8_npsoq"] diff --git a/scenes/ui/menus/saves_manager/save_file.gd b/scenes/ui/pause_menu/saves_manager/save_file.gd similarity index 100% rename from scenes/ui/menus/saves_manager/save_file.gd rename to scenes/ui/pause_menu/saves_manager/save_file.gd diff --git a/scenes/ui/menus/saves_manager/save_file.gd.uid b/scenes/ui/pause_menu/saves_manager/save_file.gd.uid similarity index 100% rename from scenes/ui/menus/saves_manager/save_file.gd.uid rename to scenes/ui/pause_menu/saves_manager/save_file.gd.uid diff --git a/scenes/ui/menus/saves_manager/save_file.tscn b/scenes/ui/pause_menu/saves_manager/save_file.tscn similarity index 98% rename from scenes/ui/menus/saves_manager/save_file.tscn rename to scenes/ui/pause_menu/saves_manager/save_file.tscn index f5ec354..7eeed73 100644 --- a/scenes/ui/menus/saves_manager/save_file.tscn +++ b/scenes/ui/pause_menu/saves_manager/save_file.tscn @@ -2,7 +2,7 @@ [ext_resource type="StyleBox" uid="uid://biousyggn7iua" path="res://resources/save_file_panel_theme.tres" id="1_cqw77"] [ext_resource type="Texture2D" uid="uid://cmq51cgasug81" path="res://assets/ui/folder-open-normal.png" id="1_k6haa"] -[ext_resource type="Script" uid="uid://dcfdyua5gwpw4" path="res://scenes/ui/menus/saves_manager/save_file.gd" id="2_5g2eu"] +[ext_resource type="Script" uid="uid://dcfdyua5gwpw4" path="res://scenes/ui/pause_menu/saves_manager/save_file.gd" id="2_5g2eu"] [ext_resource type="Texture2D" uid="uid://blyryo60jydgi" path="res://assets/ui/folder-open-pressed.png" id="2_714lu"] [ext_resource type="StyleBox" uid="uid://bwm315lqbbb87" path="res://resources/save_file_highlight_panel_theme.tres" id="3_om23c"] [ext_resource type="Texture2D" uid="uid://by4w5ll3le7g6" path="res://assets/ui/folder-open-hover.png" id="3_ubfnn"] diff --git a/scenes/ui/menus/saves_manager/save_files_list.gd b/scenes/ui/pause_menu/saves_manager/save_files_list.gd similarity index 100% rename from scenes/ui/menus/saves_manager/save_files_list.gd rename to scenes/ui/pause_menu/saves_manager/save_files_list.gd diff --git a/scenes/ui/menus/saves_manager/save_files_list.gd.uid b/scenes/ui/pause_menu/saves_manager/save_files_list.gd.uid similarity index 100% rename from scenes/ui/menus/saves_manager/save_files_list.gd.uid rename to scenes/ui/pause_menu/saves_manager/save_files_list.gd.uid diff --git a/scenes/ui/menus/saves_manager/save_files_list.tscn b/scenes/ui/pause_menu/saves_manager/save_files_list.tscn similarity index 71% rename from scenes/ui/menus/saves_manager/save_files_list.tscn rename to scenes/ui/pause_menu/saves_manager/save_files_list.tscn index 0e4ffd0..0b91b86 100644 --- a/scenes/ui/menus/saves_manager/save_files_list.tscn +++ b/scenes/ui/pause_menu/saves_manager/save_files_list.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://cyxieflejsggu"] -[ext_resource type="Script" uid="uid://cqabj86bq8whn" path="res://scenes/ui/menus/saves_manager/save_files_list.gd" id="1_sh1p7"] -[ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/menus/saves_manager/save_file.tscn" id="2_kb5u8"] +[ext_resource type="Script" uid="uid://cqabj86bq8whn" path="res://scenes/ui/pause_menu/saves_manager/save_files_list.gd" id="1_sh1p7"] +[ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/pause_menu/saves_manager/save_file.tscn" id="2_kb5u8"] [node name="SaveFilesList" type="VBoxContainer"] clip_contents = true diff --git a/scenes/ui/menus/saves_manager/save_load_ui.gd b/scenes/ui/pause_menu/saves_manager/save_load_ui.gd similarity index 100% rename from scenes/ui/menus/saves_manager/save_load_ui.gd rename to scenes/ui/pause_menu/saves_manager/save_load_ui.gd diff --git a/scenes/ui/menus/saves_manager/save_load_ui.gd.uid b/scenes/ui/pause_menu/saves_manager/save_load_ui.gd.uid similarity index 100% rename from scenes/ui/menus/saves_manager/save_load_ui.gd.uid rename to scenes/ui/pause_menu/saves_manager/save_load_ui.gd.uid diff --git a/scenes/ui/menus/saves_manager/save_load_ui.tscn b/scenes/ui/pause_menu/saves_manager/save_load_ui.tscn similarity index 95% rename from scenes/ui/menus/saves_manager/save_load_ui.tscn rename to scenes/ui/pause_menu/saves_manager/save_load_ui.tscn index 74d6a20..3c185d5 100644 --- a/scenes/ui/menus/saves_manager/save_load_ui.tscn +++ b/scenes/ui/pause_menu/saves_manager/save_load_ui.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=7 format=3 uid="uid://dauchkhmnyk7n"] -[ext_resource type="Script" uid="uid://b6831eygibii7" path="res://scenes/ui/menus/saves_manager/save_load_ui.gd" id="1_lo08d"] -[ext_resource type="PackedScene" uid="uid://cyxieflejsggu" path="res://scenes/ui/menus/saves_manager/save_files_list.tscn" id="1_tqtxm"] -[ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/menus/saves_manager/save_file.tscn" id="2_6uxbh"] +[ext_resource type="Script" uid="uid://b6831eygibii7" path="res://scenes/ui/pause_menu/saves_manager/save_load_ui.gd" id="1_lo08d"] +[ext_resource type="PackedScene" uid="uid://cyxieflejsggu" path="res://scenes/ui/pause_menu/saves_manager/save_files_list.tscn" id="1_tqtxm"] +[ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/pause_menu/saves_manager/save_file.tscn" id="2_6uxbh"] [ext_resource type="Texture2D" uid="uid://ja8bc1h5x85o" path="res://assets/ui/save-normal.png" id="3_lo08d"] [ext_resource type="Texture2D" uid="uid://crqgyft4gfilt" path="res://assets/ui/save-pressed.png" id="4_md7la"] [ext_resource type="Texture2D" uid="uid://o3l0j53mgkan" path="res://assets/ui/save-hover.png" id="5_hmxxn"] From 069a95fc8baf4813acbbb180e727e8d6f1e69e47 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sat, 29 Mar 2025 21:35:22 -0400 Subject: [PATCH 03/17] Fixing autosaves setting and saving --- scenes/ui/pause_menu/settings_menu.gd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scenes/ui/pause_menu/settings_menu.gd b/scenes/ui/pause_menu/settings_menu.gd index d8ae936..d275a63 100644 --- a/scenes/ui/pause_menu/settings_menu.gd +++ b/scenes/ui/pause_menu/settings_menu.gd @@ -27,7 +27,7 @@ func init() -> void: ## Sets the default values of all the inputs func apply_default_values() -> void: #region Game Options - autosaves_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_autosaves) + autosaves_input.button_pressed = GameSettingsManager.settings.game_options.enable_autosaves block_highlight_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_block_highlight) held_block_ui_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_held_block) quick_slots_ui_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_quickslots_ui) @@ -65,6 +65,7 @@ func _on_screenshot_icon_button_toggled(toggled_on: bool) -> void: SaveGameManager.toggle_save_icon_generation.emit(toggled_on) func _on_autosaves_button_toggled(toggled_on: bool) -> void: + GameSettingsManager.game_options_autosaves_changed.emit(toggled_on) if toggled_on: SaveGameManager.enable_autosaves.emit() else: From 4f91aa12eac721cb9f7c013f090115de64477c7e Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sat, 29 Mar 2025 21:36:20 -0400 Subject: [PATCH 04/17] Setting default values --- resources/game_settings/game_options_settings_resource.tres | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resources/game_settings/game_options_settings_resource.tres b/resources/game_settings/game_options_settings_resource.tres index 24c323d..0bab8c6 100644 --- a/resources/game_settings/game_options_settings_resource.tres +++ b/resources/game_settings/game_options_settings_resource.tres @@ -6,4 +6,8 @@ script = ExtResource("1_wnf6r") enable_waila = true enable_block_highlight = true +enable_quickslots_ui = true +enable_held_block = true +enable_save_screenshots = true +enable_autosaves = true metadata/_custom_type_script = "uid://7yv740somgqf" From 82c199be69964bf2b47181b4152828234cd3be6e Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sat, 29 Mar 2025 21:48:21 -0400 Subject: [PATCH 05/17] Moving MainMenu, SettingsMenu, and SavesMenu into separate scenes --- scenes/ui/pause_menu/main_menu.tscn | 162 +++++ scenes/ui/pause_menu/pause_menu.tscn | 755 +----------------------- scenes/ui/pause_menu/saves_menu.tscn | 222 +++++++ scenes/ui/pause_menu/settings_menu.tscn | 373 ++++++++++++ 4 files changed, 764 insertions(+), 748 deletions(-) create mode 100644 scenes/ui/pause_menu/main_menu.tscn create mode 100644 scenes/ui/pause_menu/saves_menu.tscn create mode 100644 scenes/ui/pause_menu/settings_menu.tscn diff --git a/scenes/ui/pause_menu/main_menu.tscn b/scenes/ui/pause_menu/main_menu.tscn new file mode 100644 index 0000000..0edb091 --- /dev/null +++ b/scenes/ui/pause_menu/main_menu.tscn @@ -0,0 +1,162 @@ +[gd_scene load_steps=6 format=3 uid="uid://c36xeip0cq3ov"] + +[ext_resource type="Script" uid="uid://bwvwpiwhp52e" path="res://scenes/ui/pause_menu/main_menu.gd" id="1_qhoi0"] + +[sub_resource type="Animation" id="Animation_ightw"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-400, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_0jq6q"] +resource_name = "hide" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(-400, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_4xojl"] +resource_name = "show" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-400, 0), Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_0jq6q"] +_data = { +&"RESET": SubResource("Animation_ightw"), +&"hide": SubResource("Animation_0jq6q"), +&"show": SubResource("Animation_4xojl") +} + +[node name="MainMenu" type="ColorRect" node_paths=PackedStringArray("animation_player")] +visible = false +custom_minimum_size = Vector2(400, 0) +anchors_preset = 9 +anchor_bottom = 1.0 +offset_right = 400.0 +grow_vertical = 2 +color = Color(0.133333, 0.133333, 0.133333, 0.784314) +script = ExtResource("1_qhoi0") +animation_player = NodePath("AnimationPlayer") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_0jq6q") +} +autoplay = "RESET" + +[node name="MainContent" type="MarginContainer" parent="."] +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="MenuContainer" type="VBoxContainer" parent="MainContent"] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_constants/separation = 20 + +[node name="Title" type="Label" parent="MainContent/MenuContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "Paused" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ButtonsContainer" type="VBoxContainer" parent="MainContent/MenuContainer"] +layout_mode = 2 +size_flags_vertical = 6 +theme_override_constants/separation = 20 + +[node name="ResumeButton" type="Button" parent="MainContent/MenuContainer/ButtonsContainer"] +layout_mode = 2 +text = "Resume" + +[node name="SavesButton" type="Button" parent="MainContent/MenuContainer/ButtonsContainer"] +layout_mode = 2 +text = "Saves" + +[node name="SettingsButton" type="Button" parent="MainContent/MenuContainer/ButtonsContainer"] +layout_mode = 2 +text = "Settings" + +[node name="ExitGameButton" type="Button" parent="MainContent/MenuContainer/ButtonsContainer"] +layout_mode = 2 +text = "Exit Game" + +[connection signal="pressed" from="MainContent/MenuContainer/ButtonsContainer/ResumeButton" to="." method="_on_resume_button_pressed"] +[connection signal="pressed" from="MainContent/MenuContainer/ButtonsContainer/SavesButton" to="." method="_on_saves_button_pressed"] +[connection signal="pressed" from="MainContent/MenuContainer/ButtonsContainer/SettingsButton" to="." method="_on_settings_button_pressed"] +[connection signal="pressed" from="MainContent/MenuContainer/ButtonsContainer/ExitGameButton" to="." method="_on_exit_game_button_pressed"] diff --git a/scenes/ui/pause_menu/pause_menu.tscn b/scenes/ui/pause_menu/pause_menu.tscn index 2643c94..b0626a6 100644 --- a/scenes/ui/pause_menu/pause_menu.tscn +++ b/scenes/ui/pause_menu/pause_menu.tscn @@ -1,306 +1,13 @@ -[gd_scene load_steps=25 format=3 uid="uid://by0gd600mbcr5"] +[gd_scene load_steps=6 format=3 uid="uid://by0gd600mbcr5"] -[ext_resource type="Script" uid="uid://bwvwpiwhp52e" path="res://scenes/ui/pause_menu/main_menu.gd" id="1_4xojl"] [ext_resource type="Script" uid="uid://domfn2obgmavw" path="res://scenes/ui/pause_menu/pause_menu.gd" id="1_ugqbi"] -[ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="2_0jq6q"] -[ext_resource type="Script" uid="uid://ccei1q7fb022x" path="res://scenes/ui/pause_menu/settings_menu.gd" id="2_ightw"] -[ext_resource type="PackedScene" uid="uid://cyxieflejsggu" path="res://scenes/ui/pause_menu/saves_manager/save_files_list.tscn" id="4_c1aak"] -[ext_resource type="Script" uid="uid://di8dm3fdxfwo1" path="res://scenes/ui/pause_menu/saves_menu.gd" id="4_mym86"] -[ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/pause_menu/saves_manager/save_file.tscn" id="5_mym86"] -[ext_resource type="Texture2D" uid="uid://ja8bc1h5x85o" path="res://assets/ui/save-normal.png" id="6_fjuhq"] -[ext_resource type="Texture2D" uid="uid://crqgyft4gfilt" path="res://assets/ui/save-pressed.png" id="7_uedyg"] -[ext_resource type="Texture2D" uid="uid://o3l0j53mgkan" path="res://assets/ui/save-hover.png" id="8_npsoq"] +[ext_resource type="PackedScene" uid="uid://c36xeip0cq3ov" path="res://scenes/ui/pause_menu/main_menu.tscn" id="2_ugqbi"] +[ext_resource type="PackedScene" uid="uid://11lk8ro2caa4" path="res://scenes/ui/pause_menu/settings_menu.tscn" id="3_8mx0f"] +[ext_resource type="PackedScene" uid="uid://dy3dbe2l3kqdn" path="res://scenes/ui/pause_menu/saves_menu.tscn" id="4_rv5mv"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4xojl"] bg_color = Color(0.176419, 0.176419, 0.176419, 0.462745) -[sub_resource type="Animation" id="Animation_ightw"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-400, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} - -[sub_resource type="Animation" id="Animation_0jq6q"] -resource_name = "hide" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(0, 0), Vector2(-400, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [true, false] -} - -[sub_resource type="Animation" id="Animation_4xojl"] -resource_name = "show" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(-400, 0), Vector2(0, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_0jq6q"] -_data = { -&"RESET": SubResource("Animation_ightw"), -&"hide": SubResource("Animation_0jq6q"), -&"show": SubResource("Animation_4xojl") -} - -[sub_resource type="Animation" id="Animation_vx2qe"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-400, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} - -[sub_resource type="Animation" id="Animation_q12vw"] -resource_name = "hide" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(0, 0), Vector2(-400, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [true, false] -} - -[sub_resource type="Animation" id="Animation_3mo8w"] -resource_name = "show" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(-400, 0), Vector2(0, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_q12vw"] -_data = { -&"RESET": SubResource("Animation_vx2qe"), -&"hide": SubResource("Animation_q12vw"), -&"show": SubResource("Animation_3mo8w") -} - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ightw"] -content_margin_left = 10.0 -content_margin_top = 10.0 -content_margin_right = 10.0 -content_margin_bottom = 10.0 -bg_color = Color(0, 0, 0, 0.27451) -corner_radius_top_left = 2 -corner_radius_top_right = 2 -corner_radius_bottom_right = 2 -corner_radius_bottom_left = 2 - -[sub_resource type="Animation" id="Animation_h2y1u"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-450, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} - -[sub_resource type="Animation" id="Animation_ba5iv"] -resource_name = "hide" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(0, 0), Vector2(-450, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [true, false] -} - -[sub_resource type="Animation" id="Animation_ugqbi"] -resource_name = "show" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(-450, 0), Vector2(0, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_h2y1u"] -_data = { -&"RESET": SubResource("Animation_h2y1u"), -&"hide": SubResource("Animation_ba5iv"), -&"show": SubResource("Animation_ugqbi") -} - [node name="PauseMenu" type="Panel"] process_mode = 3 anchors_preset = 15 @@ -311,459 +18,11 @@ grow_vertical = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_4xojl") script = ExtResource("1_ugqbi") -[node name="MainMenu" type="ColorRect" parent="." node_paths=PackedStringArray("animation_player")] -visible = false -custom_minimum_size = Vector2(400, 0) -layout_mode = 1 -anchors_preset = 9 -anchor_bottom = 1.0 -offset_left = -400.0 -grow_vertical = 2 -color = Color(0.133333, 0.133333, 0.133333, 0.784314) -script = ExtResource("1_4xojl") -animation_player = NodePath("AnimationPlayer") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="MainMenu"] -libraries = { -&"": SubResource("AnimationLibrary_0jq6q") -} -autoplay = "RESET" - -[node name="MainContent" type="MarginContainer" parent="MainMenu"] -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="MenuContainer" type="VBoxContainer" parent="MainMenu/MainContent"] -layout_mode = 2 -size_flags_horizontal = 4 -theme_override_constants/separation = 20 - -[node name="Title" type="Label" parent="MainMenu/MainContent/MenuContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 40 -text = "Paused" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="ButtonsContainer" type="VBoxContainer" parent="MainMenu/MainContent/MenuContainer"] -layout_mode = 2 -size_flags_vertical = 6 -theme_override_constants/separation = 20 - -[node name="ResumeButton" type="Button" parent="MainMenu/MainContent/MenuContainer/ButtonsContainer"] -layout_mode = 2 -text = "Resume" - -[node name="SavesButton" type="Button" parent="MainMenu/MainContent/MenuContainer/ButtonsContainer"] -layout_mode = 2 -text = "Saves" - -[node name="SettingsButton" type="Button" parent="MainMenu/MainContent/MenuContainer/ButtonsContainer"] -layout_mode = 2 -text = "Settings" - -[node name="ExitGameButton" type="Button" parent="MainMenu/MainContent/MenuContainer/ButtonsContainer"] -layout_mode = 2 -text = "Exit Game" - -[node name="SettingsMenu" type="ColorRect" parent="." node_paths=PackedStringArray("autosaves_input", "block_highlight_input", "held_block_ui_input", "quick_slots_ui_input", "screenshot_icon_input", "waila_input", "resolution_input", "fullscreen_input", "vsync_input", "fov_slider", "fov_value_label", "animation_player")] -visible = false -custom_minimum_size = Vector2(400, 0) -layout_mode = 1 -anchors_preset = 9 -anchor_bottom = 1.0 -offset_left = -400.0 -grow_vertical = 2 -color = Color(0.133333, 0.133333, 0.133333, 0.784314) -script = ExtResource("2_ightw") -autosaves_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/Autosaves/CheckButton") -block_highlight_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/BlockHighlight/CheckButton") -held_block_ui_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI/CheckButton") -quick_slots_ui_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI/CheckButton") -screenshot_icon_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon/CheckButton") -waila_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/Waila/CheckButton") -resolution_input = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/Resolution/OptionButton") -fullscreen_input = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/Fullscreen/CheckBox") -vsync_input = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/VSync/CheckBox") -fov_slider = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/FOV/HSlider") -fov_value_label = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/FOV/Value") -animation_player = NodePath("AnimationPlayer") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="SettingsMenu"] -libraries = { -&"": SubResource("AnimationLibrary_q12vw") -} -autoplay = "RESET" - -[node name="MainContent" type="MarginContainer" parent="SettingsMenu"] -layout_mode = 1 -anchors_preset = 5 -anchor_left = 0.5 -anchor_right = 0.5 -offset_left = -155.0 -offset_right = 155.0 -offset_bottom = 310.0 -grow_horizontal = 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="VBoxContainer" type="VBoxContainer" parent="SettingsMenu/MainContent"] -layout_mode = 2 -size_flags_horizontal = 4 -theme_override_constants/separation = 20 - -[node name="Title" type="Label" parent="SettingsMenu/MainContent/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 40 -text = "Settings" -horizontal_alignment = 1 - -[node name="TabContainer" type="TabContainer" parent="SettingsMenu/MainContent/VBoxContainer"] -layout_mode = 2 -theme_override_constants/side_margin = 0 -theme_override_styles/panel = SubResource("StyleBoxFlat_ightw") -current_tab = 0 -clip_tabs = false - -[node name="Game" type="VBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer"] -layout_mode = 2 -metadata/_tab_index = 0 - -[node name="BlockHighlight" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game"] -layout_mode = 2 - -[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/BlockHighlight"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Enable Block Highlighting" - -[node name="CheckButton" type="CheckButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/BlockHighlight"] -layout_mode = 2 -button_pressed = true - -[node name="Waila" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game"] -layout_mode = 2 - -[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/Waila"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Enable Waila" - -[node name="CheckButton" type="CheckButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/Waila"] -layout_mode = 2 -button_pressed = true - -[node name="QuickslotsUI" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game"] -layout_mode = 2 - -[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Enable Quickslots UI" - -[node name="CheckButton" type="CheckButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI"] -layout_mode = 2 -button_pressed = true - -[node name="HeldBlockUI" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game"] -layout_mode = 2 - -[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Enable Player Held Block" - -[node name="CheckButton" type="CheckButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI"] -layout_mode = 2 -button_pressed = true - -[node name="ScreenshotIcon" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game"] -layout_mode = 2 - -[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon"] -layout_mode = 2 -size_flags_horizontal = 3 -tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." -mouse_filter = 1 -text = "Enable Save Screenshot" - -[node name="CheckButton" type="CheckButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon"] -layout_mode = 2 -tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." -button_pressed = true - -[node name="Autosaves" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game"] -layout_mode = 2 - -[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/Autosaves"] -layout_mode = 2 -size_flags_horizontal = 3 -tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." -mouse_filter = 1 -text = "Enable Autosaves" - -[node name="CheckButton" type="CheckButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/Autosaves"] -layout_mode = 2 -tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." -button_pressed = true - -[node name="Graphics" type="VBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer"] -visible = false -layout_mode = 2 -metadata/_tab_index = 1 - -[node name="Resolution" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics"] -layout_mode = 2 - -[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/Resolution"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Resolution" - -[node name="OptionButton" type="OptionButton" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/Resolution"] -layout_mode = 2 -selected = 0 -item_count = 6 -popup/item_0/text = "1280x720" -popup/item_0/id = 0 -popup/item_1/text = "1280x800" -popup/item_1/id = 4 -popup/item_2/text = "1920x1080" -popup/item_2/id = 1 -popup/item_3/text = "2560x1440" -popup/item_3/id = 2 -popup/item_4/text = "3440x1440" -popup/item_4/id = 3 -popup/item_5/text = "3840 x 2160" -popup/item_5/id = 5 - -[node name="Fullscreen" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics"] -layout_mode = 2 - -[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/Fullscreen"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Fullscreen" - -[node name="CheckBox" type="CheckBox" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/Fullscreen"] -layout_mode = 2 - -[node name="VSync" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics"] -layout_mode = 2 - -[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/VSync"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "VSync" - -[node name="CheckBox" type="CheckBox" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/VSync"] -layout_mode = 2 - -[node name="FOV" type="HBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics"] -layout_mode = 2 - -[node name="Label" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/FOV"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "FOV" - -[node name="HSlider" type="HSlider" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/FOV"] -layout_mode = 2 -size_flags_horizontal = 3 -min_value = 60.0 -max_value = 120.0 -value = 75.0 -rounded = true -ticks_on_borders = true - -[node name="Value" type="Label" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/FOV"] -layout_mode = 2 -text = "75" - -[node name="HSeparator" type="HSeparator" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics"] -layout_mode = 2 -theme_override_constants/separation = 20 - -[node name="CenterContainer" type="CenterContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics"] -layout_mode = 2 - -[node name="ApplyButton" type="Button" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/CenterContainer"] -layout_mode = 2 -text = "Apply/Save" - -[node name="Audio" type="VBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer"] -visible = false -layout_mode = 2 -metadata/_tab_index = 2 - -[node name="Inputs" type="VBoxContainer" parent="SettingsMenu/MainContent/VBoxContainer/TabContainer"] -visible = false -layout_mode = 2 -metadata/_tab_index = 3 - -[node name="BottomRow" type="MarginContainer" parent="SettingsMenu"] -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 = -46.0 -offset_right = 82.5 -grow_horizontal = 2 -grow_vertical = 0 -theme_override_constants/margin_bottom = 10 - -[node name="CloseButton" type="Button" parent="SettingsMenu/BottomRow"] -custom_minimum_size = Vector2(141, 36) -layout_mode = 2 -theme = ExtResource("2_0jq6q") -text = "Close Settings" - -[node name="SavesMenu" type="ColorRect" parent="." node_paths=PackedStringArray("show_save_ui_button", "new_save_ui", "save_name_input", "create_save_button", "create_save_cancel_button", "save_files_list_ui", "animation_player")] -visible = false -custom_minimum_size = Vector2(450, 0) -layout_mode = 1 -anchors_preset = 9 -anchor_bottom = 1.0 -offset_left = -450.0 -grow_vertical = 2 -color = Color(0.133333, 0.133333, 0.133333, 0.784314) -script = ExtResource("4_mym86") -show_save_ui_button = NodePath("MarginContainer/VBoxContainer/BottomRow/SaveButton") -new_save_ui = NodePath("NewSaveUI") -save_name_input = NodePath("NewSaveUI/MarginContainer/VBoxContainer/SaveNameInput") -create_save_button = NodePath("NewSaveUI/MarginContainer/VBoxContainer/SaveButton") -create_save_cancel_button = NodePath("NewSaveUI/MarginContainer/VBoxContainer/CancelButton") -save_files_list_ui = NodePath("MarginContainer/VBoxContainer/ScrollContainer/SaveFilesList") -animation_player = NodePath("AnimationPlayer") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="SavesMenu"] -libraries = { -&"": SubResource("AnimationLibrary_h2y1u") -} -autoplay = "RESET" - -[node name="MarginContainer" type="MarginContainer" parent="SavesMenu"] +[node name="MainMenu" parent="." instance=ExtResource("2_ugqbi")] 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 = 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="SavesMenu/MarginContainer"] -layout_mode = 2 - -[node name="Label" type="Label" parent="SavesMenu/MarginContainer/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 40 -text = "Save/Load Game" -horizontal_alignment = 1 - -[node name="ScrollContainer" type="ScrollContainer" parent="SavesMenu/MarginContainer/VBoxContainer"] -custom_minimum_size = Vector2(0, 500) -layout_mode = 2 -horizontal_scroll_mode = 0 - -[node name="SaveFilesList" parent="SavesMenu/MarginContainer/VBoxContainer/ScrollContainer" instance=ExtResource("4_c1aak")] -layout_mode = 2 -size_flags_horizontal = 6 - -[node name="SaveFilePanel" parent="SavesMenu/MarginContainer/VBoxContainer/ScrollContainer/SaveFilesList" instance=ExtResource("5_mym86")] -layout_mode = 2 - -[node name="BottomRow" type="HBoxContainer" parent="SavesMenu/MarginContainer/VBoxContainer"] -layout_mode = 2 -alignment = 1 -[node name="SaveButton" type="TextureButton" parent="SavesMenu/MarginContainer/VBoxContainer/BottomRow"] -clip_contents = true -custom_minimum_size = Vector2(32, 32) -layout_mode = 2 -tooltip_text = "New Save" -texture_normal = ExtResource("6_fjuhq") -texture_pressed = ExtResource("7_uedyg") -texture_hover = ExtResource("8_npsoq") -ignore_texture_size = true -stretch_mode = 5 - -[node name="NewSaveUI" type="Panel" parent="SavesMenu"] -visible = false -custom_minimum_size = Vector2(450, 100) +[node name="SettingsMenu" parent="." instance=ExtResource("3_8mx0f")] layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -[node name="MarginContainer" type="MarginContainer" parent="SavesMenu/NewSaveUI"] +[node name="SavesMenu" parent="." instance=ExtResource("4_rv5mv")] layout_mode = 1 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -205.0 -offset_top = -29.5 -offset_right = 205.0 -offset_bottom = 29.5 -grow_horizontal = 2 -grow_vertical = 2 -theme_override_constants/margin_left = 5 -theme_override_constants/margin_top = 5 -theme_override_constants/margin_right = 5 -theme_override_constants/margin_bottom = 5 - -[node name="VBoxContainer" type="VBoxContainer" parent="SavesMenu/NewSaveUI/MarginContainer"] -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 - -[node name="SaveNameLabel" type="Label" parent="SavesMenu/NewSaveUI/MarginContainer/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 20 -text = "Create New Save" - -[node name="SaveNameInput" type="LineEdit" parent="SavesMenu/NewSaveUI/MarginContainer/VBoxContainer"] -custom_minimum_size = Vector2(400, 0) -layout_mode = 2 -placeholder_text = "New Save File Name" - -[node name="SaveButton" type="Button" parent="SavesMenu/NewSaveUI/MarginContainer/VBoxContainer"] -layout_mode = 2 -text = "Create Save" - -[node name="CancelButton" type="Button" parent="SavesMenu/NewSaveUI/MarginContainer/VBoxContainer"] -layout_mode = 2 -text = "Cancel" - -[connection signal="pressed" from="MainMenu/MainContent/MenuContainer/ButtonsContainer/ResumeButton" to="MainMenu" method="_on_resume_button_pressed"] -[connection signal="pressed" from="MainMenu/MainContent/MenuContainer/ButtonsContainer/SavesButton" to="MainMenu" method="_on_saves_button_pressed"] -[connection signal="pressed" from="MainMenu/MainContent/MenuContainer/ButtonsContainer/SettingsButton" to="MainMenu" method="_on_settings_button_pressed"] -[connection signal="pressed" from="MainMenu/MainContent/MenuContainer/ButtonsContainer/ExitGameButton" to="MainMenu" method="_on_exit_game_button_pressed"] -[connection signal="toggled" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/BlockHighlight/CheckButton" to="SettingsMenu" method="_on_block_highlighting_toggled"] -[connection signal="toggled" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/Waila/CheckButton" to="SettingsMenu" method="_on_enable_waila_toggled"] -[connection signal="toggled" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI/CheckButton" to="SettingsMenu" method="_on_quickslots_ui_toggled"] -[connection signal="toggled" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI/CheckButton" to="SettingsMenu" method="_on_held_block_ui_toggled"] -[connection signal="toggled" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon/CheckButton" to="SettingsMenu" method="_on_screenshot_icon_button_toggled"] -[connection signal="toggled" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Game/Autosaves/CheckButton" to="SettingsMenu" method="_on_autosaves_button_toggled"] -[connection signal="changed" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/FOV/HSlider" to="SettingsMenu" method="_on_fov_slider_changed"] -[connection signal="pressed" from="SettingsMenu/MainContent/VBoxContainer/TabContainer/Graphics/CenterContainer/ApplyButton" to="SettingsMenu" method="_on_graphics_apply_button_pressed"] -[connection signal="pressed" from="SettingsMenu/BottomRow/CloseButton" to="SettingsMenu" method="_on_close_button_pressed"] diff --git a/scenes/ui/pause_menu/saves_menu.tscn b/scenes/ui/pause_menu/saves_menu.tscn new file mode 100644 index 0000000..c09c31f --- /dev/null +++ b/scenes/ui/pause_menu/saves_menu.tscn @@ -0,0 +1,222 @@ +[gd_scene load_steps=11 format=3 uid="uid://dy3dbe2l3kqdn"] + +[ext_resource type="Script" uid="uid://di8dm3fdxfwo1" path="res://scenes/ui/pause_menu/saves_menu.gd" id="1_x1uhs"] +[ext_resource type="PackedScene" uid="uid://cyxieflejsggu" path="res://scenes/ui/pause_menu/saves_manager/save_files_list.tscn" id="2_4p2cp"] +[ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/pause_menu/saves_manager/save_file.tscn" id="3_r04ci"] +[ext_resource type="Texture2D" uid="uid://ja8bc1h5x85o" path="res://assets/ui/save-normal.png" id="4_xldu7"] +[ext_resource type="Texture2D" uid="uid://crqgyft4gfilt" path="res://assets/ui/save-pressed.png" id="5_k6iwt"] +[ext_resource type="Texture2D" uid="uid://o3l0j53mgkan" path="res://assets/ui/save-hover.png" id="6_43e35"] + +[sub_resource type="Animation" id="Animation_h2y1u"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-450, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_ba5iv"] +resource_name = "hide" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(-450, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_ugqbi"] +resource_name = "show" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-450, 0), Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_h2y1u"] +_data = { +&"RESET": SubResource("Animation_h2y1u"), +&"hide": SubResource("Animation_ba5iv"), +&"show": SubResource("Animation_ugqbi") +} + +[node name="SavesMenu" type="ColorRect" node_paths=PackedStringArray("show_save_ui_button", "new_save_ui", "save_name_input", "create_save_button", "create_save_cancel_button", "save_files_list_ui", "animation_player")] +visible = false +custom_minimum_size = Vector2(450, 0) +anchors_preset = 9 +anchor_bottom = 1.0 +offset_right = 450.0 +grow_vertical = 2 +color = Color(0.133333, 0.133333, 0.133333, 0.784314) +script = ExtResource("1_x1uhs") +show_save_ui_button = NodePath("MarginContainer/VBoxContainer/BottomRow/SaveButton") +new_save_ui = NodePath("NewSaveUI") +save_name_input = NodePath("NewSaveUI/MarginContainer/VBoxContainer/SaveNameInput") +create_save_button = NodePath("NewSaveUI/MarginContainer/VBoxContainer/SaveButton") +create_save_cancel_button = NodePath("NewSaveUI/MarginContainer/VBoxContainer/CancelButton") +save_files_list_ui = NodePath("MarginContainer/VBoxContainer/ScrollContainer/SaveFilesList") +animation_player = NodePath("AnimationPlayer") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_h2y1u") +} +autoplay = "RESET" + +[node name="MarginContainer" type="MarginContainer" parent="."] +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 = 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 + +[node name="Label" type="Label" parent="MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "Save/Load Game" +horizontal_alignment = 1 + +[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 500) +layout_mode = 2 +horizontal_scroll_mode = 0 + +[node name="SaveFilesList" parent="MarginContainer/VBoxContainer/ScrollContainer" instance=ExtResource("2_4p2cp")] +layout_mode = 2 +size_flags_horizontal = 6 + +[node name="SaveFilePanel" parent="MarginContainer/VBoxContainer/ScrollContainer/SaveFilesList" instance=ExtResource("3_r04ci")] +layout_mode = 2 + +[node name="BottomRow" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] +layout_mode = 2 +alignment = 1 + +[node name="SaveButton" type="TextureButton" parent="MarginContainer/VBoxContainer/BottomRow"] +clip_contents = true +custom_minimum_size = Vector2(32, 32) +layout_mode = 2 +tooltip_text = "New Save" +texture_normal = ExtResource("4_xldu7") +texture_pressed = ExtResource("5_k6iwt") +texture_hover = ExtResource("6_43e35") +ignore_texture_size = true +stretch_mode = 5 + +[node name="NewSaveUI" type="Panel" parent="."] +visible = false +custom_minimum_size = Vector2(450, 100) +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="MarginContainer" type="MarginContainer" parent="NewSaveUI"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -205.0 +offset_top = -29.5 +offset_right = 205.0 +offset_bottom = 29.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 5 +theme_override_constants/margin_top = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 + +[node name="VBoxContainer" type="VBoxContainer" parent="NewSaveUI/MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 + +[node name="SaveNameLabel" type="Label" parent="NewSaveUI/MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 20 +text = "Create New Save" + +[node name="SaveNameInput" type="LineEdit" parent="NewSaveUI/MarginContainer/VBoxContainer"] +custom_minimum_size = Vector2(400, 0) +layout_mode = 2 +placeholder_text = "New Save File Name" + +[node name="SaveButton" type="Button" parent="NewSaveUI/MarginContainer/VBoxContainer"] +layout_mode = 2 +text = "Create Save" + +[node name="CancelButton" type="Button" parent="NewSaveUI/MarginContainer/VBoxContainer"] +layout_mode = 2 +text = "Cancel" diff --git a/scenes/ui/pause_menu/settings_menu.tscn b/scenes/ui/pause_menu/settings_menu.tscn new file mode 100644 index 0000000..8a71ea2 --- /dev/null +++ b/scenes/ui/pause_menu/settings_menu.tscn @@ -0,0 +1,373 @@ +[gd_scene load_steps=8 format=3 uid="uid://11lk8ro2caa4"] + +[ext_resource type="Script" uid="uid://ccei1q7fb022x" path="res://scenes/ui/pause_menu/settings_menu.gd" id="1_govsn"] +[ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="2_oec81"] + +[sub_resource type="Animation" id="Animation_vx2qe"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-400, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_q12vw"] +resource_name = "hide" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(-400, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_3mo8w"] +resource_name = "show" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-400, 0), Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_q12vw"] +_data = { +&"RESET": SubResource("Animation_vx2qe"), +&"hide": SubResource("Animation_q12vw"), +&"show": SubResource("Animation_3mo8w") +} + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ightw"] +content_margin_left = 10.0 +content_margin_top = 10.0 +content_margin_right = 10.0 +content_margin_bottom = 10.0 +bg_color = Color(0, 0, 0, 0.27451) +corner_radius_top_left = 2 +corner_radius_top_right = 2 +corner_radius_bottom_right = 2 +corner_radius_bottom_left = 2 + +[node name="SettingsMenu" type="ColorRect" node_paths=PackedStringArray("autosaves_input", "block_highlight_input", "held_block_ui_input", "quick_slots_ui_input", "screenshot_icon_input", "waila_input", "resolution_input", "fullscreen_input", "vsync_input", "fov_slider", "fov_value_label", "animation_player")] +visible = false +custom_minimum_size = Vector2(400, 0) +anchors_preset = 9 +anchor_bottom = 1.0 +offset_right = 400.0 +grow_vertical = 2 +color = Color(0.133333, 0.133333, 0.133333, 0.784314) +script = ExtResource("1_govsn") +autosaves_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/Autosaves/CheckButton") +block_highlight_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/BlockHighlight/CheckButton") +held_block_ui_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI/CheckButton") +quick_slots_ui_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI/CheckButton") +screenshot_icon_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon/CheckButton") +waila_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/Waila/CheckButton") +resolution_input = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/Resolution/OptionButton") +fullscreen_input = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/Fullscreen/CheckBox") +vsync_input = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/VSync/CheckBox") +fov_slider = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/FOV/HSlider") +fov_value_label = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/FOV/Value") +animation_player = NodePath("AnimationPlayer") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_q12vw") +} +autoplay = "RESET" + +[node name="MainContent" type="MarginContainer" parent="."] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -155.0 +offset_right = 155.0 +offset_bottom = 310.0 +grow_horizontal = 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="VBoxContainer" type="VBoxContainer" parent="MainContent"] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_constants/separation = 20 + +[node name="Title" type="Label" parent="MainContent/VBoxContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "Settings" +horizontal_alignment = 1 + +[node name="TabContainer" type="TabContainer" parent="MainContent/VBoxContainer"] +layout_mode = 2 +theme_override_constants/side_margin = 0 +theme_override_styles/panel = SubResource("StyleBoxFlat_ightw") +current_tab = 0 +clip_tabs = false + +[node name="Game" type="VBoxContainer" parent="MainContent/VBoxContainer/TabContainer"] +layout_mode = 2 +metadata/_tab_index = 0 + +[node name="BlockHighlight" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Game"] +layout_mode = 2 + +[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Game/BlockHighlight"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Enable Block Highlighting" + +[node name="CheckButton" type="CheckButton" parent="MainContent/VBoxContainer/TabContainer/Game/BlockHighlight"] +layout_mode = 2 +button_pressed = true + +[node name="Waila" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Game"] +layout_mode = 2 + +[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Game/Waila"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Enable Waila" + +[node name="CheckButton" type="CheckButton" parent="MainContent/VBoxContainer/TabContainer/Game/Waila"] +layout_mode = 2 +button_pressed = true + +[node name="QuickslotsUI" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Game"] +layout_mode = 2 + +[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Enable Quickslots UI" + +[node name="CheckButton" type="CheckButton" parent="MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI"] +layout_mode = 2 +button_pressed = true + +[node name="HeldBlockUI" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Game"] +layout_mode = 2 + +[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Enable Player Held Block" + +[node name="CheckButton" type="CheckButton" parent="MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI"] +layout_mode = 2 +button_pressed = true + +[node name="ScreenshotIcon" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Game"] +layout_mode = 2 + +[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon"] +layout_mode = 2 +size_flags_horizontal = 3 +tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." +mouse_filter = 1 +text = "Enable Save Screenshot" + +[node name="CheckButton" type="CheckButton" parent="MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon"] +layout_mode = 2 +tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." +button_pressed = true + +[node name="Autosaves" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Game"] +layout_mode = 2 + +[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Game/Autosaves"] +layout_mode = 2 +size_flags_horizontal = 3 +tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." +mouse_filter = 1 +text = "Enable Autosaves" + +[node name="CheckButton" type="CheckButton" parent="MainContent/VBoxContainer/TabContainer/Game/Autosaves"] +layout_mode = 2 +tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." +button_pressed = true + +[node name="Graphics" type="VBoxContainer" parent="MainContent/VBoxContainer/TabContainer"] +visible = false +layout_mode = 2 +metadata/_tab_index = 1 + +[node name="Resolution" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Graphics"] +layout_mode = 2 + +[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Graphics/Resolution"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Resolution" + +[node name="OptionButton" type="OptionButton" parent="MainContent/VBoxContainer/TabContainer/Graphics/Resolution"] +layout_mode = 2 +selected = 0 +item_count = 6 +popup/item_0/text = "1280x720" +popup/item_0/id = 0 +popup/item_1/text = "1280x800" +popup/item_1/id = 4 +popup/item_2/text = "1920x1080" +popup/item_2/id = 1 +popup/item_3/text = "2560x1440" +popup/item_3/id = 2 +popup/item_4/text = "3440x1440" +popup/item_4/id = 3 +popup/item_5/text = "3840 x 2160" +popup/item_5/id = 5 + +[node name="Fullscreen" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Graphics"] +layout_mode = 2 + +[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Graphics/Fullscreen"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Fullscreen" + +[node name="CheckBox" type="CheckBox" parent="MainContent/VBoxContainer/TabContainer/Graphics/Fullscreen"] +layout_mode = 2 + +[node name="VSync" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Graphics"] +layout_mode = 2 + +[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Graphics/VSync"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "VSync" + +[node name="CheckBox" type="CheckBox" parent="MainContent/VBoxContainer/TabContainer/Graphics/VSync"] +layout_mode = 2 + +[node name="FOV" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Graphics"] +layout_mode = 2 + +[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Graphics/FOV"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "FOV" + +[node name="HSlider" type="HSlider" parent="MainContent/VBoxContainer/TabContainer/Graphics/FOV"] +layout_mode = 2 +size_flags_horizontal = 3 +min_value = 60.0 +max_value = 120.0 +value = 75.0 +rounded = true +ticks_on_borders = true + +[node name="Value" type="Label" parent="MainContent/VBoxContainer/TabContainer/Graphics/FOV"] +layout_mode = 2 +text = "75" + +[node name="HSeparator" type="HSeparator" parent="MainContent/VBoxContainer/TabContainer/Graphics"] +layout_mode = 2 +theme_override_constants/separation = 20 + +[node name="CenterContainer" type="CenterContainer" parent="MainContent/VBoxContainer/TabContainer/Graphics"] +layout_mode = 2 + +[node name="ApplyButton" type="Button" parent="MainContent/VBoxContainer/TabContainer/Graphics/CenterContainer"] +layout_mode = 2 +text = "Apply/Save" + +[node name="Audio" type="VBoxContainer" parent="MainContent/VBoxContainer/TabContainer"] +visible = false +layout_mode = 2 +metadata/_tab_index = 2 + +[node name="Inputs" type="VBoxContainer" parent="MainContent/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 = -46.0 +offset_right = 82.5 +grow_horizontal = 2 +grow_vertical = 0 +theme_override_constants/margin_bottom = 10 + +[node name="CloseButton" type="Button" parent="BottomRow"] +custom_minimum_size = Vector2(141, 36) +layout_mode = 2 +theme = ExtResource("2_oec81") +text = "Close Settings" + +[connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/BlockHighlight/CheckButton" to="." method="_on_block_highlighting_toggled"] +[connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/Waila/CheckButton" to="." method="_on_enable_waila_toggled"] +[connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI/CheckButton" to="." method="_on_quickslots_ui_toggled"] +[connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI/CheckButton" to="." method="_on_held_block_ui_toggled"] +[connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon/CheckButton" to="." method="_on_screenshot_icon_button_toggled"] +[connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/Autosaves/CheckButton" to="." method="_on_autosaves_button_toggled"] +[connection signal="changed" from="MainContent/VBoxContainer/TabContainer/Graphics/FOV/HSlider" to="." method="_on_fov_slider_changed"] +[connection signal="pressed" from="MainContent/VBoxContainer/TabContainer/Graphics/CenterContainer/ApplyButton" to="." method="_on_graphics_apply_button_pressed"] +[connection signal="pressed" from="BottomRow/CloseButton" to="." method="_on_close_button_pressed"] From 8fe40d0c8bdc4d65457226245ce9586f29f558f2 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sat, 29 Mar 2025 22:07:39 -0400 Subject: [PATCH 06/17] Fix hiding UI when saving game for screenshot --- autoloads/signal_manager.gd | 2 ++ scenes/player/player.gd | 9 +++++++++ scenes/ui/ui.gd | 12 +++++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/autoloads/signal_manager.gd b/autoloads/signal_manager.gd index 7b11d65..80b5ad4 100644 --- a/autoloads/signal_manager.gd +++ b/autoloads/signal_manager.gd @@ -4,6 +4,8 @@ extends Node signal pause_game signal resume_game +signal hide_ui +signal show_ui signal open_pause_menu signal close_pause_menu diff --git a/scenes/player/player.gd b/scenes/player/player.gd index 5bd4c6c..3ef9d0d 100644 --- a/scenes/player/player.gd +++ b/scenes/player/player.gd @@ -58,6 +58,8 @@ func _ready() -> void: InventoryManager.quick_slot_item_changed.connect(_on_quick_slot_item_changed) SignalManager.resume_game.connect(_on_resume_game) SignalManager.open_pause_menu.connect(_on_open_pause_menu) + SignalManager.hide_ui.connect(_on_hide_ui) + SignalManager.show_ui.connect(_on_show_ui) _update_held_block_mesh(InventoryManager.quick_slot_item_id) @@ -150,3 +152,10 @@ func _on_open_pause_menu() -> void: func _on_resume_game() -> void: block_mesh.visible = GameSettingsManager.settings.game_options.enable_held_block + + +func _on_hide_ui() -> void: + block_mesh.visible = false + +func _on_show_ui() -> void: + block_mesh.visible = true and GameSettingsManager.settings.game_options.enable_held_block diff --git a/scenes/ui/ui.gd b/scenes/ui/ui.gd index ca3f8fa..c005e6d 100644 --- a/scenes/ui/ui.gd +++ b/scenes/ui/ui.gd @@ -12,6 +12,8 @@ func _ready() -> void: SaveGameManager.load_complete.connect(_on_load_complete) SignalManager.pause_game.connect(_on_pause_game) SignalManager.resume_game.connect(_on_resume_game) + SignalManager.hide_ui.connect(_on_hide_ui) + SignalManager.show_ui.connect(_on_show_ui) resume_game() @@ -31,7 +33,7 @@ func hide_ui_elements() -> void: func show_ui_elements() -> void: crosshair.visible = true quick_slots.visible = true and GameSettingsManager.settings.game_options.enable_quickslots_ui - waila.visible = true + waila.visible = true and GameSettingsManager.settings.game_options.enable_waila func pause_game() -> void: @@ -54,3 +56,11 @@ func _on_pause_game() -> void: func _on_resume_game() -> void: resume_game() + + +func _on_hide_ui() -> void: + hide_menus() + hide_ui_elements() + +func _on_show_ui() -> void: + show_ui_elements() From 2aba84aa0fd93174941cf084e6469b09f0e18d8c Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sat, 29 Mar 2025 22:12:54 -0400 Subject: [PATCH 07/17] Fix hiding UI when saving game and backing out to MainMenu from submenus --- scenes/ui/pause_menu/pause_menu.gd | 2 +- scenes/ui/pause_menu/pause_menu.tscn | 6 ++++++ scenes/ui/pause_menu/saves_menu.gd | 16 +++++----------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/scenes/ui/pause_menu/pause_menu.gd b/scenes/ui/pause_menu/pause_menu.gd index 93597bc..c9b49db 100644 --- a/scenes/ui/pause_menu/pause_menu.gd +++ b/scenes/ui/pause_menu/pause_menu.gd @@ -33,7 +33,7 @@ func _unhandled_input(event: InputEvent) -> void: elif event.is_action_pressed("ui_cancel") and visible and _active_menu == "MainMenu": menu_mapping["MainMenu"].animation_player.play("hide") elif event.is_action_pressed("ui_cancel"): - menu_mapping[_active_menu].animation_player.play("hide") + open_menu.emit("MainMenu") ## The animation to show the next menu will take place in _on_animation_finished() diff --git a/scenes/ui/pause_menu/pause_menu.tscn b/scenes/ui/pause_menu/pause_menu.tscn index b0626a6..18e4ea1 100644 --- a/scenes/ui/pause_menu/pause_menu.tscn +++ b/scenes/ui/pause_menu/pause_menu.tscn @@ -20,9 +20,15 @@ script = ExtResource("1_ugqbi") [node name="MainMenu" parent="." instance=ExtResource("2_ugqbi")] layout_mode = 1 +offset_left = -400.0 +offset_right = 0.0 [node name="SettingsMenu" parent="." instance=ExtResource("3_8mx0f")] layout_mode = 1 +offset_left = -400.0 +offset_right = 0.0 [node name="SavesMenu" parent="." instance=ExtResource("4_rv5mv")] layout_mode = 1 +offset_left = -450.0 +offset_right = 0.0 diff --git a/scenes/ui/pause_menu/saves_menu.gd b/scenes/ui/pause_menu/saves_menu.gd index 8edd9cc..d1bb7f2 100644 --- a/scenes/ui/pause_menu/saves_menu.gd +++ b/scenes/ui/pause_menu/saves_menu.gd @@ -24,23 +24,17 @@ func init() -> void: pause_menu.open_menu.connect(_on_open_menu) -#func open_menu() -> void: -# save_files_list_ui.refresh_saves_list() -# super.open_menu() - - func _on_create_save_button_pressed() -> void: var save_name: String = save_name_input.text if save_name.strip_edges() == "": save_name = Time.get_datetime_string_from_system(false, true) - #if ui_node != null: - # ui_node.visible = false - # await get_tree().create_timer(.150).timeout # A hack to allow time for UI to hide before taking screenshot - SaveGameManager.create_save.emit(save_name) - #if ui_node != null: - # ui_node.visible = true new_save_ui.hide() + + SignalManager.hide_ui.emit() + await get_tree().create_timer(.150).timeout # A hack to allow time for UI to hide before taking screenshot + SaveGameManager.create_save.emit(save_name) + SignalManager.resume_game.emit() func _on_create_save_cancel_button_pressed() -> void: From db15ad68effd3e9ac300c90158620d095db92a94 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sat, 29 Mar 2025 22:19:01 -0400 Subject: [PATCH 08/17] Minor offset change --- scenes/ui/pause_menu/main_menu.tscn | 2 +- scenes/ui/pause_menu/pause_menu.tscn | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/scenes/ui/pause_menu/main_menu.tscn b/scenes/ui/pause_menu/main_menu.tscn index 0edb091..e87a053 100644 --- a/scenes/ui/pause_menu/main_menu.tscn +++ b/scenes/ui/pause_menu/main_menu.tscn @@ -99,7 +99,7 @@ visible = false custom_minimum_size = Vector2(400, 0) anchors_preset = 9 anchor_bottom = 1.0 -offset_right = 400.0 +offset_left = -400.0 grow_vertical = 2 color = Color(0.133333, 0.133333, 0.133333, 0.784314) script = ExtResource("1_qhoi0") diff --git a/scenes/ui/pause_menu/pause_menu.tscn b/scenes/ui/pause_menu/pause_menu.tscn index 18e4ea1..a5c7b22 100644 --- a/scenes/ui/pause_menu/pause_menu.tscn +++ b/scenes/ui/pause_menu/pause_menu.tscn @@ -20,8 +20,6 @@ script = ExtResource("1_ugqbi") [node name="MainMenu" parent="." instance=ExtResource("2_ugqbi")] layout_mode = 1 -offset_left = -400.0 -offset_right = 0.0 [node name="SettingsMenu" parent="." instance=ExtResource("3_8mx0f")] layout_mode = 1 From 67a34d6611a5f46477ae53b8a3dd5fd6ff9101ae Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sun, 30 Mar 2025 08:54:30 -0400 Subject: [PATCH 09/17] Comments and formatting --- scenes/ui/pause_menu/base_menu.gd | 7 +++--- scenes/ui/pause_menu/main_menu.gd | 6 +++--- scenes/ui/pause_menu/pause_menu.gd | 34 ++++++++++++++++++------------ scenes/ui/pause_menu/saves_menu.gd | 4 ++-- 4 files changed, 29 insertions(+), 22 deletions(-) diff --git a/scenes/ui/pause_menu/base_menu.gd b/scenes/ui/pause_menu/base_menu.gd index c8d8494..4a8178f 100644 --- a/scenes/ui/pause_menu/base_menu.gd +++ b/scenes/ui/pause_menu/base_menu.gd @@ -20,12 +20,11 @@ func open_menu() -> void: func reset_menu() -> void: animation_player.play("RESET") -## Update the animation tracks to account for the size of the different container sizes[br] -## Only the x position is modified.[br][br] +## Update the animation tracks to account for the varying sizes of the menu container[br] ## Requires:[br] ## Track 1 - Must be for the content_container[br] -## First Property - Must be position[br] -## Keys - Must only have 2 keys, the start and end position keys +## First Property - Must be position[br] +## Second Property - Visibility func update_animation_tracks() -> void: var hide_animation: Animation = animation_player.get_animation("hide") var show_animation: Animation = animation_player.get_animation("show") diff --git a/scenes/ui/pause_menu/main_menu.gd b/scenes/ui/pause_menu/main_menu.gd index 2ca069e..bc2574f 100644 --- a/scenes/ui/pause_menu/main_menu.gd +++ b/scenes/ui/pause_menu/main_menu.gd @@ -9,8 +9,8 @@ func _on_exit_game_button_pressed() -> void: func _on_resume_button_pressed() -> void: close_menu() -func _on_settings_button_pressed() -> void: - pause_menu.open_menu.emit("SettingsMenu") - func _on_saves_button_pressed() -> void: pause_menu.open_menu.emit("SavesMenu") + +func _on_settings_button_pressed() -> void: + pause_menu.open_menu.emit("SettingsMenu") diff --git a/scenes/ui/pause_menu/pause_menu.gd b/scenes/ui/pause_menu/pause_menu.gd index c9b49db..f3dfc21 100644 --- a/scenes/ui/pause_menu/pause_menu.gd +++ b/scenes/ui/pause_menu/pause_menu.gd @@ -1,4 +1,5 @@ -## Handle changing of pause menus +## Handle changing changing menus and running the show/hide animations for each menu. +## Each menu should extend BaseMenu class_name PauseMenu extends Panel @@ -24,19 +25,20 @@ func _ready() -> void: menu.pause_menu = self menu.init() - SaveGameManager.load_save.connect(_on_load_save) SaveGameManager.create_save.connect(_on_create_save) + SaveGameManager.load_save.connect(_on_load_save) func _unhandled_input(event: InputEvent) -> void: if event.is_action_pressed("ui_cancel") and !visible: _open_pause_menu() elif event.is_action_pressed("ui_cancel") and visible and _active_menu == "MainMenu": menu_mapping["MainMenu"].animation_player.play("hide") - elif event.is_action_pressed("ui_cancel"): + elif event.is_action_pressed("ui_cancel"): ## Always back out to the MainMenu - Future, maybe add _previous_menu to allow backing out to any menu open_menu.emit("MainMenu") -## The animation to show the next menu will take place in _on_animation_finished() +## Start the `hide` animation for the current menu. +## The `show` animation will play after the `hide` has completed, from `_on_animation_finished()`. func _change_menu(menu_name: String) -> void: visible = true _next_menu = menu_name @@ -47,25 +49,31 @@ func _change_menu(menu_name: String) -> void: func _close_pause_menu() -> void: visible = false - Input.mouse_mode = Input.MOUSE_MODE_CAPTURED _next_menu = "" + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED SignalManager.resume_game.emit() +## Run the `show` animation for the next menu +## If there is no next menu, close the pause menu +func _handle_next_menu() -> void: + if _next_menu == "": + _active_menu = "MainMenu" + _close_pause_menu() + else: + _active_menu = _next_menu + _next_menu = "" + menu_mapping[_active_menu].animation_player.play("show") + func _open_pause_menu() -> void: Input.mouse_mode = Input.MOUSE_MODE_VISIBLE SignalManager.pause_game.emit() menu_mapping["MainMenu"].animation_player.play("show") -## When the hide animation finished, we can move on to opening the next menu +## When the hide animation finished, start show `show` animation for the next menu func _on_animation_finished(animation_name: String) -> void: - if animation_name == "hide" and _next_menu == "": - _active_menu = "MainMenu" - _close_pause_menu() - elif animation_name == "hide": - _active_menu = _next_menu - _next_menu = "" - menu_mapping[_active_menu].animation_player.play("show") + if animation_name == "hide": + _handle_next_menu() func _on_change_menu(menu_name: String) -> void: _change_menu(menu_name) diff --git a/scenes/ui/pause_menu/saves_menu.gd b/scenes/ui/pause_menu/saves_menu.gd index d1bb7f2..9a7ae9e 100644 --- a/scenes/ui/pause_menu/saves_menu.gd +++ b/scenes/ui/pause_menu/saves_menu.gd @@ -17,10 +17,10 @@ signal open_save_list func init() -> void: super.init() - show_save_ui_button.pressed.connect(_on_show_save_ui_button_pressed) + create_save_button.pressed.connect(_on_create_save_button_pressed) create_save_cancel_button.pressed.connect(_on_create_save_cancel_button_pressed) - + show_save_ui_button.pressed.connect(_on_show_save_ui_button_pressed) pause_menu.open_menu.connect(_on_open_menu) From ad0c781deef5d75e38721b295495ddd488a5b1d5 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sun, 30 Mar 2025 09:05:32 -0400 Subject: [PATCH 10/17] Moving to a common theme for all menus --- resources/pause_menu_theme.tres | 2 ++ scenes/ui/pause_menu/main_menu.tscn | 6 ++++-- scenes/ui/pause_menu/saves_menu.tscn | 4 +++- scenes/ui/pause_menu/settings_menu.tscn | 4 ++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/resources/pause_menu_theme.tres b/resources/pause_menu_theme.tres index af3d5d8..af1ee3e 100644 --- a/resources/pause_menu_theme.tres +++ b/resources/pause_menu_theme.tres @@ -4,3 +4,5 @@ Button/colors/font_color = Color(0.839216, 0.933333, 1, 1) Button/constants/outline_size = 2 Button/font_sizes/font_size = 20 +MenuTitle/base_type = &"Label" +MenuTitle/font_sizes/font_size = 40 diff --git a/scenes/ui/pause_menu/main_menu.tscn b/scenes/ui/pause_menu/main_menu.tscn index e87a053..f272907 100644 --- a/scenes/ui/pause_menu/main_menu.tscn +++ b/scenes/ui/pause_menu/main_menu.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=6 format=3 uid="uid://c36xeip0cq3ov"] +[gd_scene load_steps=7 format=3 uid="uid://c36xeip0cq3ov"] [ext_resource type="Script" uid="uid://bwvwpiwhp52e" path="res://scenes/ui/pause_menu/main_menu.gd" id="1_qhoi0"] +[ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="1_t42ad"] [sub_resource type="Animation" id="Animation_ightw"] length = 0.001 @@ -101,6 +102,7 @@ anchors_preset = 9 anchor_bottom = 1.0 offset_left = -400.0 grow_vertical = 2 +theme = ExtResource("1_t42ad") color = Color(0.133333, 0.133333, 0.133333, 0.784314) script = ExtResource("1_qhoi0") animation_player = NodePath("AnimationPlayer") @@ -130,7 +132,7 @@ theme_override_constants/separation = 20 [node name="Title" type="Label" parent="MainContent/MenuContainer"] layout_mode = 2 -theme_override_font_sizes/font_size = 40 +theme_type_variation = &"MenuTitle" text = "Paused" horizontal_alignment = 1 vertical_alignment = 1 diff --git a/scenes/ui/pause_menu/saves_menu.tscn b/scenes/ui/pause_menu/saves_menu.tscn index c09c31f..b61b5ff 100644 --- a/scenes/ui/pause_menu/saves_menu.tscn +++ b/scenes/ui/pause_menu/saves_menu.tscn @@ -1,5 +1,6 @@ -[gd_scene load_steps=11 format=3 uid="uid://dy3dbe2l3kqdn"] +[gd_scene load_steps=12 format=3 uid="uid://dy3dbe2l3kqdn"] +[ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="1_4p2cp"] [ext_resource type="Script" uid="uid://di8dm3fdxfwo1" path="res://scenes/ui/pause_menu/saves_menu.gd" id="1_x1uhs"] [ext_resource type="PackedScene" uid="uid://cyxieflejsggu" path="res://scenes/ui/pause_menu/saves_manager/save_files_list.tscn" id="2_4p2cp"] [ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/pause_menu/saves_manager/save_file.tscn" id="3_r04ci"] @@ -106,6 +107,7 @@ anchors_preset = 9 anchor_bottom = 1.0 offset_right = 450.0 grow_vertical = 2 +theme = ExtResource("1_4p2cp") color = Color(0.133333, 0.133333, 0.133333, 0.784314) script = ExtResource("1_x1uhs") show_save_ui_button = NodePath("MarginContainer/VBoxContainer/BottomRow/SaveButton") diff --git a/scenes/ui/pause_menu/settings_menu.tscn b/scenes/ui/pause_menu/settings_menu.tscn index 8a71ea2..c32951f 100644 --- a/scenes/ui/pause_menu/settings_menu.tscn +++ b/scenes/ui/pause_menu/settings_menu.tscn @@ -113,6 +113,7 @@ anchors_preset = 9 anchor_bottom = 1.0 offset_right = 400.0 grow_vertical = 2 +theme = ExtResource("2_oec81") color = Color(0.133333, 0.133333, 0.133333, 0.784314) script = ExtResource("1_govsn") autosaves_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/Autosaves/CheckButton") @@ -155,7 +156,7 @@ theme_override_constants/separation = 20 [node name="Title" type="Label" parent="MainContent/VBoxContainer"] layout_mode = 2 -theme_override_font_sizes/font_size = 40 +theme_type_variation = &"MenuTitle" text = "Settings" horizontal_alignment = 1 @@ -359,7 +360,6 @@ theme_override_constants/margin_bottom = 10 [node name="CloseButton" type="Button" parent="BottomRow"] custom_minimum_size = Vector2(141, 36) layout_mode = 2 -theme = ExtResource("2_oec81") text = "Close Settings" [connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/BlockHighlight/CheckButton" to="." method="_on_block_highlighting_toggled"] From 65068a82e4fa6a4009da1ba5a4db1e0bec4d1d3b Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sun, 30 Mar 2025 09:09:09 -0400 Subject: [PATCH 11/17] Updating save menu theme and node names --- scenes/ui/pause_menu/saves_menu.tscn | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/scenes/ui/pause_menu/saves_menu.tscn b/scenes/ui/pause_menu/saves_menu.tscn index b61b5ff..13ffa1b 100644 --- a/scenes/ui/pause_menu/saves_menu.tscn +++ b/scenes/ui/pause_menu/saves_menu.tscn @@ -110,12 +110,12 @@ grow_vertical = 2 theme = ExtResource("1_4p2cp") color = Color(0.133333, 0.133333, 0.133333, 0.784314) script = ExtResource("1_x1uhs") -show_save_ui_button = NodePath("MarginContainer/VBoxContainer/BottomRow/SaveButton") +show_save_ui_button = NodePath("MainContent/MenuContainer/BottomRow/SaveButton") new_save_ui = NodePath("NewSaveUI") save_name_input = NodePath("NewSaveUI/MarginContainer/VBoxContainer/SaveNameInput") create_save_button = NodePath("NewSaveUI/MarginContainer/VBoxContainer/SaveButton") create_save_cancel_button = NodePath("NewSaveUI/MarginContainer/VBoxContainer/CancelButton") -save_files_list_ui = NodePath("MarginContainer/VBoxContainer/ScrollContainer/SaveFilesList") +save_files_list_ui = NodePath("MainContent/MenuContainer/ScrollContainer/SaveFilesList") animation_player = NodePath("AnimationPlayer") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] @@ -124,7 +124,7 @@ libraries = { } autoplay = "RESET" -[node name="MarginContainer" type="MarginContainer" parent="."] +[node name="MainContent" type="MarginContainer" parent="."] layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -136,32 +136,32 @@ 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"] +[node name="MenuContainer" type="VBoxContainer" parent="MainContent"] layout_mode = 2 -[node name="Label" type="Label" parent="MarginContainer/VBoxContainer"] +[node name="Title" type="Label" parent="MainContent/MenuContainer"] layout_mode = 2 -theme_override_font_sizes/font_size = 40 +theme_type_variation = &"MenuTitle" text = "Save/Load Game" horizontal_alignment = 1 -[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer/VBoxContainer"] +[node name="ScrollContainer" type="ScrollContainer" parent="MainContent/MenuContainer"] custom_minimum_size = Vector2(0, 500) layout_mode = 2 horizontal_scroll_mode = 0 -[node name="SaveFilesList" parent="MarginContainer/VBoxContainer/ScrollContainer" instance=ExtResource("2_4p2cp")] +[node name="SaveFilesList" parent="MainContent/MenuContainer/ScrollContainer" instance=ExtResource("2_4p2cp")] layout_mode = 2 size_flags_horizontal = 6 -[node name="SaveFilePanel" parent="MarginContainer/VBoxContainer/ScrollContainer/SaveFilesList" instance=ExtResource("3_r04ci")] +[node name="SaveFilePanel" parent="MainContent/MenuContainer/ScrollContainer/SaveFilesList" instance=ExtResource("3_r04ci")] layout_mode = 2 -[node name="BottomRow" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] +[node name="BottomRow" type="HBoxContainer" parent="MainContent/MenuContainer"] layout_mode = 2 alignment = 1 -[node name="SaveButton" type="TextureButton" parent="MarginContainer/VBoxContainer/BottomRow"] +[node name="SaveButton" type="TextureButton" parent="MainContent/MenuContainer/BottomRow"] clip_contents = true custom_minimum_size = Vector2(32, 32) layout_mode = 2 From 5874f7730d700dd041ecac589f050c00c0f1d77f Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sun, 30 Mar 2025 09:10:47 -0400 Subject: [PATCH 12/17] Updating default animation --- scenes/ui/pause_menu/main_menu.tscn | 2 +- scenes/ui/pause_menu/pause_menu.tscn | 4 ---- scenes/ui/pause_menu/saves_menu.tscn | 4 ++-- scenes/ui/pause_menu/settings_menu.tscn | 4 ++-- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/scenes/ui/pause_menu/main_menu.tscn b/scenes/ui/pause_menu/main_menu.tscn index f272907..38231b1 100644 --- a/scenes/ui/pause_menu/main_menu.tscn +++ b/scenes/ui/pause_menu/main_menu.tscn @@ -111,7 +111,7 @@ animation_player = NodePath("AnimationPlayer") libraries = { &"": SubResource("AnimationLibrary_0jq6q") } -autoplay = "RESET" +autoplay = "show" [node name="MainContent" type="MarginContainer" parent="."] layout_mode = 1 diff --git a/scenes/ui/pause_menu/pause_menu.tscn b/scenes/ui/pause_menu/pause_menu.tscn index a5c7b22..b0626a6 100644 --- a/scenes/ui/pause_menu/pause_menu.tscn +++ b/scenes/ui/pause_menu/pause_menu.tscn @@ -23,10 +23,6 @@ layout_mode = 1 [node name="SettingsMenu" parent="." instance=ExtResource("3_8mx0f")] layout_mode = 1 -offset_left = -400.0 -offset_right = 0.0 [node name="SavesMenu" parent="." instance=ExtResource("4_rv5mv")] layout_mode = 1 -offset_left = -450.0 -offset_right = 0.0 diff --git a/scenes/ui/pause_menu/saves_menu.tscn b/scenes/ui/pause_menu/saves_menu.tscn index 13ffa1b..dba228b 100644 --- a/scenes/ui/pause_menu/saves_menu.tscn +++ b/scenes/ui/pause_menu/saves_menu.tscn @@ -105,7 +105,7 @@ visible = false custom_minimum_size = Vector2(450, 0) anchors_preset = 9 anchor_bottom = 1.0 -offset_right = 450.0 +offset_left = -450.0 grow_vertical = 2 theme = ExtResource("1_4p2cp") color = Color(0.133333, 0.133333, 0.133333, 0.784314) @@ -122,7 +122,7 @@ animation_player = NodePath("AnimationPlayer") libraries = { &"": SubResource("AnimationLibrary_h2y1u") } -autoplay = "RESET" +autoplay = "show" [node name="MainContent" type="MarginContainer" parent="."] layout_mode = 1 diff --git a/scenes/ui/pause_menu/settings_menu.tscn b/scenes/ui/pause_menu/settings_menu.tscn index c32951f..2e22529 100644 --- a/scenes/ui/pause_menu/settings_menu.tscn +++ b/scenes/ui/pause_menu/settings_menu.tscn @@ -111,7 +111,7 @@ visible = false custom_minimum_size = Vector2(400, 0) anchors_preset = 9 anchor_bottom = 1.0 -offset_right = 400.0 +offset_left = -400.0 grow_vertical = 2 theme = ExtResource("2_oec81") color = Color(0.133333, 0.133333, 0.133333, 0.784314) @@ -133,7 +133,7 @@ animation_player = NodePath("AnimationPlayer") libraries = { &"": SubResource("AnimationLibrary_q12vw") } -autoplay = "RESET" +autoplay = "show" [node name="MainContent" type="MarginContainer" parent="."] layout_mode = 1 From e40c044ad3ad80cff96bb20618b5911a95c01928 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sun, 30 Mar 2025 09:41:55 -0400 Subject: [PATCH 13/17] Migrating menus into Inherited scenes --- scenes/ui/pause_menu/base_menu.tscn | 152 +++++++++++++ scenes/ui/pause_menu/main_menu.tscn | 150 +------------ scenes/ui/pause_menu/pause_menu.tscn | 12 +- scenes/ui/pause_menu/saves_menu.tscn | 179 +++------------ scenes/ui/pause_menu/settings_menu.tscn | 277 ++++++------------------ 5 files changed, 263 insertions(+), 507 deletions(-) create mode 100644 scenes/ui/pause_menu/base_menu.tscn diff --git a/scenes/ui/pause_menu/base_menu.tscn b/scenes/ui/pause_menu/base_menu.tscn new file mode 100644 index 0000000..d2255eb --- /dev/null +++ b/scenes/ui/pause_menu/base_menu.tscn @@ -0,0 +1,152 @@ +[gd_scene load_steps=7 format=3 uid="uid://4itp2hjp14n2"] + +[ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="1_3sxei"] +[ext_resource type="Script" uid="uid://c71f7fatmvsra" path="res://scenes/ui/pause_menu/base_menu.gd" id="2_3sxei"] + +[sub_resource type="Animation" id="Animation_vx2qe"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-400, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_q12vw"] +resource_name = "hide" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(-400, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_3mo8w"] +resource_name = "show" +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-400, 0), Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_q12vw"] +_data = { +&"RESET": SubResource("Animation_vx2qe"), +&"hide": SubResource("Animation_q12vw"), +&"show": SubResource("Animation_3mo8w") +} + +[node name="BaseMenu" type="ColorRect" node_paths=PackedStringArray("animation_player")] +visible = false +custom_minimum_size = Vector2(400, 0) +anchors_preset = 9 +anchor_bottom = 1.0 +offset_left = -400.0 +grow_vertical = 2 +theme = ExtResource("1_3sxei") +color = Color(0.133333, 0.133333, 0.133333, 0.784314) +script = ExtResource("2_3sxei") +animation_player = NodePath("AnimationPlayer") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_q12vw") +} +autoplay = "show" + +[node name="MainContent" type="MarginContainer" parent="."] +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="MenuContainer" type="VBoxContainer" parent="MainContent"] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_constants/separation = 20 + +[node name="Title" type="Label" parent="MainContent/MenuContainer"] +layout_mode = 2 +theme_type_variation = &"MenuTitle" +text = "Menu Title" +horizontal_alignment = 1 +vertical_alignment = 1 + +[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 = -46.0 +offset_right = 82.5 +grow_horizontal = 2 +grow_vertical = 0 +theme_override_constants/margin_bottom = 10 diff --git a/scenes/ui/pause_menu/main_menu.tscn b/scenes/ui/pause_menu/main_menu.tscn index 38231b1..67a8a70 100644 --- a/scenes/ui/pause_menu/main_menu.tscn +++ b/scenes/ui/pause_menu/main_menu.tscn @@ -1,160 +1,32 @@ -[gd_scene load_steps=7 format=3 uid="uid://c36xeip0cq3ov"] +[gd_scene load_steps=3 format=3 uid="uid://xy8pdtxcepqf"] -[ext_resource type="Script" uid="uid://bwvwpiwhp52e" path="res://scenes/ui/pause_menu/main_menu.gd" id="1_qhoi0"] -[ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="1_t42ad"] +[ext_resource type="PackedScene" uid="uid://4itp2hjp14n2" path="res://scenes/ui/pause_menu/base_menu.tscn" id="1_6fgdx"] +[ext_resource type="Script" uid="uid://bwvwpiwhp52e" path="res://scenes/ui/pause_menu/main_menu.gd" id="2_4i143"] -[sub_resource type="Animation" id="Animation_ightw"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-400, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} +[node name="MainMenu" instance=ExtResource("1_6fgdx")] +script = ExtResource("2_4i143") -[sub_resource type="Animation" id="Animation_0jq6q"] -resource_name = "hide" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(0, 0), Vector2(-400, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [true, false] -} - -[sub_resource type="Animation" id="Animation_4xojl"] -resource_name = "show" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(-400, 0), Vector2(0, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_0jq6q"] -_data = { -&"RESET": SubResource("Animation_ightw"), -&"hide": SubResource("Animation_0jq6q"), -&"show": SubResource("Animation_4xojl") -} - -[node name="MainMenu" type="ColorRect" node_paths=PackedStringArray("animation_player")] -visible = false -custom_minimum_size = Vector2(400, 0) -anchors_preset = 9 -anchor_bottom = 1.0 -offset_left = -400.0 -grow_vertical = 2 -theme = ExtResource("1_t42ad") -color = Color(0.133333, 0.133333, 0.133333, 0.784314) -script = ExtResource("1_qhoi0") -animation_player = NodePath("AnimationPlayer") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] -libraries = { -&"": SubResource("AnimationLibrary_0jq6q") -} -autoplay = "show" - -[node name="MainContent" type="MarginContainer" parent="."] -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="MenuContainer" type="VBoxContainer" parent="MainContent"] -layout_mode = 2 -size_flags_horizontal = 4 -theme_override_constants/separation = 20 - -[node name="Title" type="Label" parent="MainContent/MenuContainer"] -layout_mode = 2 -theme_type_variation = &"MenuTitle" +[node name="Title" parent="MainContent/MenuContainer" index="0"] text = "Paused" -horizontal_alignment = 1 -vertical_alignment = 1 -[node name="ButtonsContainer" type="VBoxContainer" parent="MainContent/MenuContainer"] +[node name="ButtonsContainer" type="VBoxContainer" parent="MainContent/MenuContainer" index="1"] layout_mode = 2 size_flags_vertical = 6 theme_override_constants/separation = 20 -[node name="ResumeButton" type="Button" parent="MainContent/MenuContainer/ButtonsContainer"] +[node name="ResumeButton" type="Button" parent="MainContent/MenuContainer/ButtonsContainer" index="0"] layout_mode = 2 text = "Resume" -[node name="SavesButton" type="Button" parent="MainContent/MenuContainer/ButtonsContainer"] +[node name="SavesButton" type="Button" parent="MainContent/MenuContainer/ButtonsContainer" index="1"] layout_mode = 2 text = "Saves" -[node name="SettingsButton" type="Button" parent="MainContent/MenuContainer/ButtonsContainer"] +[node name="SettingsButton" type="Button" parent="MainContent/MenuContainer/ButtonsContainer" index="2"] layout_mode = 2 text = "Settings" -[node name="ExitGameButton" type="Button" parent="MainContent/MenuContainer/ButtonsContainer"] +[node name="ExitGameButton" type="Button" parent="MainContent/MenuContainer/ButtonsContainer" index="3"] layout_mode = 2 text = "Exit Game" diff --git a/scenes/ui/pause_menu/pause_menu.tscn b/scenes/ui/pause_menu/pause_menu.tscn index b0626a6..386a57e 100644 --- a/scenes/ui/pause_menu/pause_menu.tscn +++ b/scenes/ui/pause_menu/pause_menu.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=6 format=3 uid="uid://by0gd600mbcr5"] [ext_resource type="Script" uid="uid://domfn2obgmavw" path="res://scenes/ui/pause_menu/pause_menu.gd" id="1_ugqbi"] -[ext_resource type="PackedScene" uid="uid://c36xeip0cq3ov" path="res://scenes/ui/pause_menu/main_menu.tscn" id="2_ugqbi"] -[ext_resource type="PackedScene" uid="uid://11lk8ro2caa4" path="res://scenes/ui/pause_menu/settings_menu.tscn" id="3_8mx0f"] -[ext_resource type="PackedScene" uid="uid://dy3dbe2l3kqdn" path="res://scenes/ui/pause_menu/saves_menu.tscn" id="4_rv5mv"] +[ext_resource type="PackedScene" uid="uid://xy8pdtxcepqf" path="res://scenes/ui/pause_menu/main_menu.tscn" id="2_rv5mv"] +[ext_resource type="PackedScene" uid="uid://uwlutbmfp8dv" path="res://scenes/ui/pause_menu/settings_menu.tscn" id="3_rv5mv"] +[ext_resource type="PackedScene" uid="uid://dq83yv2um7sci" path="res://scenes/ui/pause_menu/saves_menu.tscn" id="4_rv5mv"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4xojl"] bg_color = Color(0.176419, 0.176419, 0.176419, 0.462745) @@ -18,11 +18,13 @@ grow_vertical = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_4xojl") script = ExtResource("1_ugqbi") -[node name="MainMenu" parent="." instance=ExtResource("2_ugqbi")] +[node name="MainMenu" parent="." instance=ExtResource("2_rv5mv")] layout_mode = 1 -[node name="SettingsMenu" parent="." instance=ExtResource("3_8mx0f")] +[node name="SettingsMenu" parent="." instance=ExtResource("3_rv5mv")] layout_mode = 1 [node name="SavesMenu" parent="." instance=ExtResource("4_rv5mv")] layout_mode = 1 +offset_left = -400.0 +offset_right = 50.0 diff --git a/scenes/ui/pause_menu/saves_menu.tscn b/scenes/ui/pause_menu/saves_menu.tscn index dba228b..f8b3b36 100644 --- a/scenes/ui/pause_menu/saves_menu.tscn +++ b/scenes/ui/pause_menu/saves_menu.tscn @@ -1,178 +1,51 @@ -[gd_scene load_steps=12 format=3 uid="uid://dy3dbe2l3kqdn"] +[gd_scene load_steps=8 format=3 uid="uid://dq83yv2um7sci"] -[ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="1_4p2cp"] -[ext_resource type="Script" uid="uid://di8dm3fdxfwo1" path="res://scenes/ui/pause_menu/saves_menu.gd" id="1_x1uhs"] -[ext_resource type="PackedScene" uid="uid://cyxieflejsggu" path="res://scenes/ui/pause_menu/saves_manager/save_files_list.tscn" id="2_4p2cp"] -[ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/pause_menu/saves_manager/save_file.tscn" id="3_r04ci"] -[ext_resource type="Texture2D" uid="uid://ja8bc1h5x85o" path="res://assets/ui/save-normal.png" id="4_xldu7"] -[ext_resource type="Texture2D" uid="uid://crqgyft4gfilt" path="res://assets/ui/save-pressed.png" id="5_k6iwt"] -[ext_resource type="Texture2D" uid="uid://o3l0j53mgkan" path="res://assets/ui/save-hover.png" id="6_43e35"] +[ext_resource type="PackedScene" uid="uid://4itp2hjp14n2" path="res://scenes/ui/pause_menu/base_menu.tscn" id="1_i4hg7"] +[ext_resource type="Script" uid="uid://di8dm3fdxfwo1" path="res://scenes/ui/pause_menu/saves_menu.gd" id="2_q3hp2"] +[ext_resource type="PackedScene" uid="uid://cyxieflejsggu" path="res://scenes/ui/pause_menu/saves_manager/save_files_list.tscn" id="3_0ok72"] +[ext_resource type="Texture2D" uid="uid://ja8bc1h5x85o" path="res://assets/ui/save-normal.png" id="3_urnjr"] +[ext_resource type="Texture2D" uid="uid://crqgyft4gfilt" path="res://assets/ui/save-pressed.png" id="4_31dcc"] +[ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/pause_menu/saves_manager/save_file.tscn" id="4_v5wg2"] +[ext_resource type="Texture2D" uid="uid://o3l0j53mgkan" path="res://assets/ui/save-hover.png" id="5_0ok72"] -[sub_resource type="Animation" id="Animation_h2y1u"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-450, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} - -[sub_resource type="Animation" id="Animation_ba5iv"] -resource_name = "hide" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(0, 0), Vector2(-450, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [true, false] -} - -[sub_resource type="Animation" id="Animation_ugqbi"] -resource_name = "show" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(-450, 0), Vector2(0, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_h2y1u"] -_data = { -&"RESET": SubResource("Animation_h2y1u"), -&"hide": SubResource("Animation_ba5iv"), -&"show": SubResource("Animation_ugqbi") -} - -[node name="SavesMenu" type="ColorRect" node_paths=PackedStringArray("show_save_ui_button", "new_save_ui", "save_name_input", "create_save_button", "create_save_cancel_button", "save_files_list_ui", "animation_player")] -visible = false +[node name="SavesMenu" node_paths=PackedStringArray("show_save_ui_button", "new_save_ui", "save_name_input", "create_save_button", "create_save_cancel_button", "save_files_list_ui") instance=ExtResource("1_i4hg7")] custom_minimum_size = Vector2(450, 0) -anchors_preset = 9 -anchor_bottom = 1.0 offset_left = -450.0 -grow_vertical = 2 -theme = ExtResource("1_4p2cp") -color = Color(0.133333, 0.133333, 0.133333, 0.784314) -script = ExtResource("1_x1uhs") -show_save_ui_button = NodePath("MainContent/MenuContainer/BottomRow/SaveButton") +script = ExtResource("2_q3hp2") +show_save_ui_button = NodePath("BottomRow/SaveButton") new_save_ui = NodePath("NewSaveUI") save_name_input = NodePath("NewSaveUI/MarginContainer/VBoxContainer/SaveNameInput") create_save_button = NodePath("NewSaveUI/MarginContainer/VBoxContainer/SaveButton") create_save_cancel_button = NodePath("NewSaveUI/MarginContainer/VBoxContainer/CancelButton") save_files_list_ui = NodePath("MainContent/MenuContainer/ScrollContainer/SaveFilesList") -animation_player = NodePath("AnimationPlayer") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] -libraries = { -&"": SubResource("AnimationLibrary_h2y1u") -} -autoplay = "show" - -[node name="MainContent" type="MarginContainer" parent="."] -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 = 20 -theme_override_constants/margin_top = 20 -theme_override_constants/margin_right = 20 -theme_override_constants/margin_bottom = 20 -[node name="MenuContainer" type="VBoxContainer" parent="MainContent"] -layout_mode = 2 - -[node name="Title" type="Label" parent="MainContent/MenuContainer"] -layout_mode = 2 -theme_type_variation = &"MenuTitle" +[node name="Title" parent="MainContent/MenuContainer" index="0"] text = "Save/Load Game" -horizontal_alignment = 1 -[node name="ScrollContainer" type="ScrollContainer" parent="MainContent/MenuContainer"] +[node name="ScrollContainer" type="ScrollContainer" parent="MainContent/MenuContainer" index="1"] custom_minimum_size = Vector2(0, 500) layout_mode = 2 horizontal_scroll_mode = 0 -[node name="SaveFilesList" parent="MainContent/MenuContainer/ScrollContainer" instance=ExtResource("2_4p2cp")] +[node name="SaveFilesList" parent="MainContent/MenuContainer/ScrollContainer" index="0" instance=ExtResource("3_0ok72")] layout_mode = 2 size_flags_horizontal = 6 -[node name="SaveFilePanel" parent="MainContent/MenuContainer/ScrollContainer/SaveFilesList" instance=ExtResource("3_r04ci")] -layout_mode = 2 - -[node name="BottomRow" type="HBoxContainer" parent="MainContent/MenuContainer"] +[node name="SaveFilePanel" parent="MainContent/MenuContainer/ScrollContainer/SaveFilesList" index="0" instance=ExtResource("4_v5wg2")] layout_mode = 2 -alignment = 1 -[node name="SaveButton" type="TextureButton" parent="MainContent/MenuContainer/BottomRow"] +[node name="SaveButton" type="TextureButton" parent="BottomRow" index="0"] clip_contents = true custom_minimum_size = Vector2(32, 32) layout_mode = 2 tooltip_text = "New Save" -texture_normal = ExtResource("4_xldu7") -texture_pressed = ExtResource("5_k6iwt") -texture_hover = ExtResource("6_43e35") +texture_normal = ExtResource("3_urnjr") +texture_pressed = ExtResource("4_31dcc") +texture_hover = ExtResource("5_0ok72") ignore_texture_size = true stretch_mode = 5 -[node name="NewSaveUI" type="Panel" parent="."] +[node name="NewSaveUI" type="Panel" parent="." index="3"] visible = false custom_minimum_size = Vector2(450, 100) layout_mode = 1 @@ -182,7 +55,7 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -[node name="MarginContainer" type="MarginContainer" parent="NewSaveUI"] +[node name="MarginContainer" type="MarginContainer" parent="NewSaveUI" index="0"] layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -200,25 +73,25 @@ theme_override_constants/margin_top = 5 theme_override_constants/margin_right = 5 theme_override_constants/margin_bottom = 5 -[node name="VBoxContainer" type="VBoxContainer" parent="NewSaveUI/MarginContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="NewSaveUI/MarginContainer" index="0"] layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 4 -[node name="SaveNameLabel" type="Label" parent="NewSaveUI/MarginContainer/VBoxContainer"] +[node name="SaveNameLabel" type="Label" parent="NewSaveUI/MarginContainer/VBoxContainer" index="0"] layout_mode = 2 theme_override_font_sizes/font_size = 20 text = "Create New Save" -[node name="SaveNameInput" type="LineEdit" parent="NewSaveUI/MarginContainer/VBoxContainer"] +[node name="SaveNameInput" type="LineEdit" parent="NewSaveUI/MarginContainer/VBoxContainer" index="1"] custom_minimum_size = Vector2(400, 0) layout_mode = 2 placeholder_text = "New Save File Name" -[node name="SaveButton" type="Button" parent="NewSaveUI/MarginContainer/VBoxContainer"] +[node name="SaveButton" type="Button" parent="NewSaveUI/MarginContainer/VBoxContainer" index="2"] layout_mode = 2 text = "Create Save" -[node name="CancelButton" type="Button" parent="NewSaveUI/MarginContainer/VBoxContainer"] +[node name="CancelButton" type="Button" parent="NewSaveUI/MarginContainer/VBoxContainer" index="3"] layout_mode = 2 text = "Cancel" diff --git a/scenes/ui/pause_menu/settings_menu.tscn b/scenes/ui/pause_menu/settings_menu.tscn index 2e22529..e962f0a 100644 --- a/scenes/ui/pause_menu/settings_menu.tscn +++ b/scenes/ui/pause_menu/settings_menu.tscn @@ -1,101 +1,9 @@ -[gd_scene load_steps=8 format=3 uid="uid://11lk8ro2caa4"] +[gd_scene load_steps=4 format=3 uid="uid://uwlutbmfp8dv"] [ext_resource type="Script" uid="uid://ccei1q7fb022x" path="res://scenes/ui/pause_menu/settings_menu.gd" id="1_govsn"] -[ext_resource type="Theme" uid="uid://b5q8b0l6qp1dt" path="res://resources/pause_menu_theme.tres" id="2_oec81"] - -[sub_resource type="Animation" id="Animation_vx2qe"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-400, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} - -[sub_resource type="Animation" id="Animation_q12vw"] -resource_name = "hide" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(0, 0), Vector2(-400, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [true, false] -} - -[sub_resource type="Animation" id="Animation_3mo8w"] -resource_name = "show" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(-400, 0), Vector2(0, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:visible") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_q12vw"] -_data = { -&"RESET": SubResource("Animation_vx2qe"), -&"hide": SubResource("Animation_q12vw"), -&"show": SubResource("Animation_3mo8w") -} - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ightw"] +[ext_resource type="PackedScene" uid="uid://4itp2hjp14n2" path="res://scenes/ui/pause_menu/base_menu.tscn" id="1_oec81"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_830fb"] content_margin_left = 10.0 content_margin_top = 10.0 content_margin_right = 10.0 @@ -106,163 +14,126 @@ corner_radius_top_right = 2 corner_radius_bottom_right = 2 corner_radius_bottom_left = 2 -[node name="SettingsMenu" type="ColorRect" node_paths=PackedStringArray("autosaves_input", "block_highlight_input", "held_block_ui_input", "quick_slots_ui_input", "screenshot_icon_input", "waila_input", "resolution_input", "fullscreen_input", "vsync_input", "fov_slider", "fov_value_label", "animation_player")] -visible = false -custom_minimum_size = Vector2(400, 0) -anchors_preset = 9 -anchor_bottom = 1.0 -offset_left = -400.0 -grow_vertical = 2 -theme = ExtResource("2_oec81") -color = Color(0.133333, 0.133333, 0.133333, 0.784314) +[node name="SettingsMenu" node_paths=PackedStringArray("autosaves_input", "block_highlight_input", "held_block_ui_input", "quick_slots_ui_input", "screenshot_icon_input", "waila_input", "resolution_input", "fullscreen_input", "vsync_input", "fov_slider", "fov_value_label") instance=ExtResource("1_oec81")] script = ExtResource("1_govsn") -autosaves_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/Autosaves/CheckButton") -block_highlight_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/BlockHighlight/CheckButton") -held_block_ui_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI/CheckButton") -quick_slots_ui_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI/CheckButton") -screenshot_icon_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon/CheckButton") -waila_input = NodePath("MainContent/VBoxContainer/TabContainer/Game/Waila/CheckButton") -resolution_input = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/Resolution/OptionButton") -fullscreen_input = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/Fullscreen/CheckBox") -vsync_input = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/VSync/CheckBox") -fov_slider = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/FOV/HSlider") -fov_value_label = NodePath("MainContent/VBoxContainer/TabContainer/Graphics/FOV/Value") -animation_player = NodePath("AnimationPlayer") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] -libraries = { -&"": SubResource("AnimationLibrary_q12vw") -} -autoplay = "show" - -[node name="MainContent" type="MarginContainer" parent="."] -layout_mode = 1 -anchors_preset = 5 -anchor_left = 0.5 -anchor_right = 0.5 -offset_left = -155.0 -offset_right = 155.0 -offset_bottom = 310.0 -grow_horizontal = 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="VBoxContainer" type="VBoxContainer" parent="MainContent"] -layout_mode = 2 -size_flags_horizontal = 4 -theme_override_constants/separation = 20 - -[node name="Title" type="Label" parent="MainContent/VBoxContainer"] -layout_mode = 2 -theme_type_variation = &"MenuTitle" +autosaves_input = NodePath("MainContent/MenuContainer/TabContainer/Game/Autosaves/CheckButton") +block_highlight_input = NodePath("MainContent/MenuContainer/TabContainer/Game/BlockHighlight/CheckButton") +held_block_ui_input = NodePath("MainContent/MenuContainer/TabContainer/Game/HeldBlockUI/CheckButton") +quick_slots_ui_input = NodePath("MainContent/MenuContainer/TabContainer/Game/QuickslotsUI/CheckButton") +screenshot_icon_input = NodePath("MainContent/MenuContainer/TabContainer/Game/ScreenshotIcon/CheckButton") +waila_input = NodePath("MainContent/MenuContainer/TabContainer/Game/Waila/CheckButton") +resolution_input = NodePath("MainContent/MenuContainer/TabContainer/Graphics/Resolution/OptionButton") +fullscreen_input = NodePath("MainContent/MenuContainer/TabContainer/Graphics/Fullscreen/CheckBox") +vsync_input = NodePath("MainContent/MenuContainer/TabContainer/Graphics/VSync/CheckBox") +fov_slider = NodePath("MainContent/MenuContainer/TabContainer/Graphics/FOV/HSlider") +fov_value_label = NodePath("MainContent/MenuContainer/TabContainer/Graphics/FOV/Value") + +[node name="Title" parent="MainContent/MenuContainer" index="0"] text = "Settings" -horizontal_alignment = 1 -[node name="TabContainer" type="TabContainer" parent="MainContent/VBoxContainer"] +[node name="TabContainer" type="TabContainer" parent="MainContent/MenuContainer" index="1"] layout_mode = 2 theme_override_constants/side_margin = 0 -theme_override_styles/panel = SubResource("StyleBoxFlat_ightw") +theme_override_styles/panel = SubResource("StyleBoxFlat_830fb") current_tab = 0 clip_tabs = false -[node name="Game" type="VBoxContainer" parent="MainContent/VBoxContainer/TabContainer"] +[node name="Game" type="VBoxContainer" parent="MainContent/MenuContainer/TabContainer" index="1"] layout_mode = 2 metadata/_tab_index = 0 -[node name="BlockHighlight" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Game"] +[node name="BlockHighlight" type="HBoxContainer" parent="MainContent/MenuContainer/TabContainer/Game" index="0"] layout_mode = 2 -[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Game/BlockHighlight"] +[node name="Label" type="Label" parent="MainContent/MenuContainer/TabContainer/Game/BlockHighlight" index="0"] layout_mode = 2 size_flags_horizontal = 3 text = "Enable Block Highlighting" -[node name="CheckButton" type="CheckButton" parent="MainContent/VBoxContainer/TabContainer/Game/BlockHighlight"] +[node name="CheckButton" type="CheckButton" parent="MainContent/MenuContainer/TabContainer/Game/BlockHighlight" index="1"] layout_mode = 2 button_pressed = true -[node name="Waila" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Game"] +[node name="Waila" type="HBoxContainer" parent="MainContent/MenuContainer/TabContainer/Game" index="1"] layout_mode = 2 -[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Game/Waila"] +[node name="Label" type="Label" parent="MainContent/MenuContainer/TabContainer/Game/Waila" index="0"] layout_mode = 2 size_flags_horizontal = 3 text = "Enable Waila" -[node name="CheckButton" type="CheckButton" parent="MainContent/VBoxContainer/TabContainer/Game/Waila"] +[node name="CheckButton" type="CheckButton" parent="MainContent/MenuContainer/TabContainer/Game/Waila" index="1"] layout_mode = 2 button_pressed = true -[node name="QuickslotsUI" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Game"] +[node name="QuickslotsUI" type="HBoxContainer" parent="MainContent/MenuContainer/TabContainer/Game" index="2"] layout_mode = 2 -[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI"] +[node name="Label" type="Label" parent="MainContent/MenuContainer/TabContainer/Game/QuickslotsUI" index="0"] layout_mode = 2 size_flags_horizontal = 3 text = "Enable Quickslots UI" -[node name="CheckButton" type="CheckButton" parent="MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI"] +[node name="CheckButton" type="CheckButton" parent="MainContent/MenuContainer/TabContainer/Game/QuickslotsUI" index="1"] layout_mode = 2 button_pressed = true -[node name="HeldBlockUI" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Game"] +[node name="HeldBlockUI" type="HBoxContainer" parent="MainContent/MenuContainer/TabContainer/Game" index="3"] layout_mode = 2 -[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI"] +[node name="Label" type="Label" parent="MainContent/MenuContainer/TabContainer/Game/HeldBlockUI" index="0"] layout_mode = 2 size_flags_horizontal = 3 text = "Enable Player Held Block" -[node name="CheckButton" type="CheckButton" parent="MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI"] +[node name="CheckButton" type="CheckButton" parent="MainContent/MenuContainer/TabContainer/Game/HeldBlockUI" index="1"] layout_mode = 2 button_pressed = true -[node name="ScreenshotIcon" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Game"] +[node name="ScreenshotIcon" type="HBoxContainer" parent="MainContent/MenuContainer/TabContainer/Game" index="4"] layout_mode = 2 -[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon"] +[node name="Label" type="Label" parent="MainContent/MenuContainer/TabContainer/Game/ScreenshotIcon" index="0"] layout_mode = 2 size_flags_horizontal = 3 tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." mouse_filter = 1 text = "Enable Save Screenshot" -[node name="CheckButton" type="CheckButton" parent="MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon"] +[node name="CheckButton" type="CheckButton" parent="MainContent/MenuContainer/TabContainer/Game/ScreenshotIcon" index="1"] layout_mode = 2 tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." button_pressed = true -[node name="Autosaves" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Game"] +[node name="Autosaves" type="HBoxContainer" parent="MainContent/MenuContainer/TabContainer/Game" index="5"] layout_mode = 2 -[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Game/Autosaves"] +[node name="Label" type="Label" parent="MainContent/MenuContainer/TabContainer/Game/Autosaves" index="0"] layout_mode = 2 size_flags_horizontal = 3 tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." mouse_filter = 1 text = "Enable Autosaves" -[node name="CheckButton" type="CheckButton" parent="MainContent/VBoxContainer/TabContainer/Game/Autosaves"] +[node name="CheckButton" type="CheckButton" parent="MainContent/MenuContainer/TabContainer/Game/Autosaves" index="1"] layout_mode = 2 tooltip_text = "Enable/Disable the taking of a screenshot to utilize as the save icon." button_pressed = true -[node name="Graphics" type="VBoxContainer" parent="MainContent/VBoxContainer/TabContainer"] +[node name="Graphics" type="VBoxContainer" parent="MainContent/MenuContainer/TabContainer" index="2"] visible = false layout_mode = 2 metadata/_tab_index = 1 -[node name="Resolution" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Graphics"] +[node name="Resolution" type="HBoxContainer" parent="MainContent/MenuContainer/TabContainer/Graphics" index="0"] layout_mode = 2 -[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Graphics/Resolution"] +[node name="Label" type="Label" parent="MainContent/MenuContainer/TabContainer/Graphics/Resolution" index="0"] layout_mode = 2 size_flags_horizontal = 3 text = "Resolution" -[node name="OptionButton" type="OptionButton" parent="MainContent/VBoxContainer/TabContainer/Graphics/Resolution"] +[node name="OptionButton" type="OptionButton" parent="MainContent/MenuContainer/TabContainer/Graphics/Resolution" index="1"] layout_mode = 2 selected = 0 item_count = 6 @@ -279,37 +150,37 @@ popup/item_4/id = 3 popup/item_5/text = "3840 x 2160" popup/item_5/id = 5 -[node name="Fullscreen" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Graphics"] +[node name="Fullscreen" type="HBoxContainer" parent="MainContent/MenuContainer/TabContainer/Graphics" index="1"] layout_mode = 2 -[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Graphics/Fullscreen"] +[node name="Label" type="Label" parent="MainContent/MenuContainer/TabContainer/Graphics/Fullscreen" index="0"] layout_mode = 2 size_flags_horizontal = 3 text = "Fullscreen" -[node name="CheckBox" type="CheckBox" parent="MainContent/VBoxContainer/TabContainer/Graphics/Fullscreen"] +[node name="CheckBox" type="CheckBox" parent="MainContent/MenuContainer/TabContainer/Graphics/Fullscreen" index="1"] layout_mode = 2 -[node name="VSync" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Graphics"] +[node name="VSync" type="HBoxContainer" parent="MainContent/MenuContainer/TabContainer/Graphics" index="2"] layout_mode = 2 -[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Graphics/VSync"] +[node name="Label" type="Label" parent="MainContent/MenuContainer/TabContainer/Graphics/VSync" index="0"] layout_mode = 2 size_flags_horizontal = 3 text = "VSync" -[node name="CheckBox" type="CheckBox" parent="MainContent/VBoxContainer/TabContainer/Graphics/VSync"] +[node name="CheckBox" type="CheckBox" parent="MainContent/MenuContainer/TabContainer/Graphics/VSync" index="1"] layout_mode = 2 -[node name="FOV" type="HBoxContainer" parent="MainContent/VBoxContainer/TabContainer/Graphics"] +[node name="FOV" type="HBoxContainer" parent="MainContent/MenuContainer/TabContainer/Graphics" index="3"] layout_mode = 2 -[node name="Label" type="Label" parent="MainContent/VBoxContainer/TabContainer/Graphics/FOV"] +[node name="Label" type="Label" parent="MainContent/MenuContainer/TabContainer/Graphics/FOV" index="0"] layout_mode = 2 size_flags_horizontal = 3 text = "FOV" -[node name="HSlider" type="HSlider" parent="MainContent/VBoxContainer/TabContainer/Graphics/FOV"] +[node name="HSlider" type="HSlider" parent="MainContent/MenuContainer/TabContainer/Graphics/FOV" index="1"] layout_mode = 2 size_flags_horizontal = 3 min_value = 60.0 @@ -318,56 +189,42 @@ value = 75.0 rounded = true ticks_on_borders = true -[node name="Value" type="Label" parent="MainContent/VBoxContainer/TabContainer/Graphics/FOV"] +[node name="Value" type="Label" parent="MainContent/MenuContainer/TabContainer/Graphics/FOV" index="2"] layout_mode = 2 text = "75" -[node name="HSeparator" type="HSeparator" parent="MainContent/VBoxContainer/TabContainer/Graphics"] +[node name="HSeparator" type="HSeparator" parent="MainContent/MenuContainer/TabContainer/Graphics" index="4"] layout_mode = 2 theme_override_constants/separation = 20 -[node name="CenterContainer" type="CenterContainer" parent="MainContent/VBoxContainer/TabContainer/Graphics"] +[node name="CenterContainer" type="CenterContainer" parent="MainContent/MenuContainer/TabContainer/Graphics" index="5"] layout_mode = 2 -[node name="ApplyButton" type="Button" parent="MainContent/VBoxContainer/TabContainer/Graphics/CenterContainer"] +[node name="ApplyButton" type="Button" parent="MainContent/MenuContainer/TabContainer/Graphics/CenterContainer" index="0"] layout_mode = 2 text = "Apply/Save" -[node name="Audio" type="VBoxContainer" parent="MainContent/VBoxContainer/TabContainer"] +[node name="Audio" type="VBoxContainer" parent="MainContent/MenuContainer/TabContainer" index="3"] visible = false layout_mode = 2 metadata/_tab_index = 2 -[node name="Inputs" type="VBoxContainer" parent="MainContent/VBoxContainer/TabContainer"] +[node name="Inputs" type="VBoxContainer" parent="MainContent/MenuContainer/TabContainer" index="4"] 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 = -46.0 -offset_right = 82.5 -grow_horizontal = 2 -grow_vertical = 0 -theme_override_constants/margin_bottom = 10 - -[node name="CloseButton" type="Button" parent="BottomRow"] +[node name="CloseButton" type="Button" parent="BottomRow" index="0"] custom_minimum_size = Vector2(141, 36) layout_mode = 2 text = "Close Settings" -[connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/BlockHighlight/CheckButton" to="." method="_on_block_highlighting_toggled"] -[connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/Waila/CheckButton" to="." method="_on_enable_waila_toggled"] -[connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/QuickslotsUI/CheckButton" to="." method="_on_quickslots_ui_toggled"] -[connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/HeldBlockUI/CheckButton" to="." method="_on_held_block_ui_toggled"] -[connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/ScreenshotIcon/CheckButton" to="." method="_on_screenshot_icon_button_toggled"] -[connection signal="toggled" from="MainContent/VBoxContainer/TabContainer/Game/Autosaves/CheckButton" to="." method="_on_autosaves_button_toggled"] -[connection signal="changed" from="MainContent/VBoxContainer/TabContainer/Graphics/FOV/HSlider" to="." method="_on_fov_slider_changed"] -[connection signal="pressed" from="MainContent/VBoxContainer/TabContainer/Graphics/CenterContainer/ApplyButton" to="." method="_on_graphics_apply_button_pressed"] +[connection signal="toggled" from="MainContent/MenuContainer/TabContainer/Game/BlockHighlight/CheckButton" to="." method="_on_block_highlighting_toggled"] +[connection signal="toggled" from="MainContent/MenuContainer/TabContainer/Game/Waila/CheckButton" to="." method="_on_enable_waila_toggled"] +[connection signal="toggled" from="MainContent/MenuContainer/TabContainer/Game/QuickslotsUI/CheckButton" to="." method="_on_quickslots_ui_toggled"] +[connection signal="toggled" from="MainContent/MenuContainer/TabContainer/Game/HeldBlockUI/CheckButton" to="." method="_on_held_block_ui_toggled"] +[connection signal="toggled" from="MainContent/MenuContainer/TabContainer/Game/ScreenshotIcon/CheckButton" to="." method="_on_screenshot_icon_button_toggled"] +[connection signal="toggled" from="MainContent/MenuContainer/TabContainer/Game/Autosaves/CheckButton" to="." method="_on_autosaves_button_toggled"] +[connection signal="value_changed" from="MainContent/MenuContainer/TabContainer/Graphics/FOV/HSlider" to="." method="_on_fov_slider_changed"] +[connection signal="pressed" from="MainContent/MenuContainer/TabContainer/Graphics/CenterContainer/ApplyButton" to="." method="_on_graphics_apply_button_pressed"] [connection signal="pressed" from="BottomRow/CloseButton" to="." method="_on_close_button_pressed"] From 1cb2d08b7d60684c9fbac0a85c938fee93dd14c4 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sun, 30 Mar 2025 09:53:06 -0400 Subject: [PATCH 14/17] Removing old SaveLoadUI scene and references to ui_node --- .../pause_menu/saves_manager/save_load_ui.gd | 45 ------ .../saves_manager/save_load_ui.gd.uid | 1 - .../saves_manager/save_load_ui.tscn | 132 ------------------ scenes/ui/pause_menu/saves_menu.gd | 1 - 4 files changed, 179 deletions(-) delete mode 100644 scenes/ui/pause_menu/saves_manager/save_load_ui.gd delete mode 100644 scenes/ui/pause_menu/saves_manager/save_load_ui.gd.uid delete mode 100644 scenes/ui/pause_menu/saves_manager/save_load_ui.tscn diff --git a/scenes/ui/pause_menu/saves_manager/save_load_ui.gd b/scenes/ui/pause_menu/saves_manager/save_load_ui.gd deleted file mode 100644 index 6b718a3..0000000 --- a/scenes/ui/pause_menu/saves_manager/save_load_ui.gd +++ /dev/null @@ -1,45 +0,0 @@ -class_name SaveLoadUI -extends Control - - -signal close_save_list -signal open_save_list - - -@export var show_save_ui_button: BaseButton -@export var new_save_ui: Control -@export var save_name_input: LineEdit -@export var create_save_button: BaseButton -@export var create_save_cancel_button: BaseButton - -@export var ui_node: CanvasLayer ## The UI to Show/Hide when taking screenshot (e.g. save icon generation) - - -func _ready() -> void: - show_save_ui_button.pressed.connect(_on_show_save_ui_button_pressed) - create_save_button.pressed.connect(_on_create_save_button_pressed) - create_save_cancel_button.pressed.connect(_on_create_save_cancel_button_pressed) - - new_save_ui.hide() - - -func _on_create_save_button_pressed() -> void: - var save_name: String = save_name_input.text - if save_name.strip_edges() == "": - save_name = Time.get_datetime_string_from_system(false, true) - - if ui_node != null: - ui_node.visible = false - await get_tree().create_timer(.150).timeout # A hack to allow time for UI to hide before taking screenshot - SaveGameManager.create_save.emit(save_name) - if ui_node != null: - ui_node.visible = true - new_save_ui.hide() - SignalManager.resume_game.emit() - -func _on_create_save_cancel_button_pressed() -> void: - new_save_ui.hide() - -func _on_show_save_ui_button_pressed() -> void: - save_name_input.text = Time.get_datetime_string_from_system(false, true) - new_save_ui.show() diff --git a/scenes/ui/pause_menu/saves_manager/save_load_ui.gd.uid b/scenes/ui/pause_menu/saves_manager/save_load_ui.gd.uid deleted file mode 100644 index d3bf6a0..0000000 --- a/scenes/ui/pause_menu/saves_manager/save_load_ui.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://b6831eygibii7 diff --git a/scenes/ui/pause_menu/saves_manager/save_load_ui.tscn b/scenes/ui/pause_menu/saves_manager/save_load_ui.tscn deleted file mode 100644 index 3c185d5..0000000 --- a/scenes/ui/pause_menu/saves_manager/save_load_ui.tscn +++ /dev/null @@ -1,132 +0,0 @@ -[gd_scene load_steps=7 format=3 uid="uid://dauchkhmnyk7n"] - -[ext_resource type="Script" uid="uid://b6831eygibii7" path="res://scenes/ui/pause_menu/saves_manager/save_load_ui.gd" id="1_lo08d"] -[ext_resource type="PackedScene" uid="uid://cyxieflejsggu" path="res://scenes/ui/pause_menu/saves_manager/save_files_list.tscn" id="1_tqtxm"] -[ext_resource type="PackedScene" uid="uid://bb7poutsn4ex2" path="res://scenes/ui/pause_menu/saves_manager/save_file.tscn" id="2_6uxbh"] -[ext_resource type="Texture2D" uid="uid://ja8bc1h5x85o" path="res://assets/ui/save-normal.png" id="3_lo08d"] -[ext_resource type="Texture2D" uid="uid://crqgyft4gfilt" path="res://assets/ui/save-pressed.png" id="4_md7la"] -[ext_resource type="Texture2D" uid="uid://o3l0j53mgkan" path="res://assets/ui/save-hover.png" id="5_hmxxn"] - -[node name="SaveLoadUI" type="Control" node_paths=PackedStringArray("show_save_ui_button", "new_save_ui", "save_name_input", "create_save_button", "create_save_cancel_button")] -process_mode = 3 -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -size_flags_horizontal = 6 -size_flags_vertical = 4 -script = ExtResource("1_lo08d") -show_save_ui_button = NodePath("Panel/MarginContainer/VBoxContainer/BottomRow/SaveButton") -new_save_ui = NodePath("Panel/NewSaveUI") -save_name_input = NodePath("Panel/NewSaveUI/MarginContainer/VBoxContainer/SaveNameInput") -create_save_button = NodePath("Panel/NewSaveUI/MarginContainer/VBoxContainer/SaveButton") -create_save_cancel_button = NodePath("Panel/NewSaveUI/MarginContainer/VBoxContainer/CancelButton") - -[node name="Panel" type="Panel" parent="."] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="MarginContainer" type="MarginContainer" parent="Panel"] -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 = 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="Panel/MarginContainer"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Panel/MarginContainer/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 40 -text = "Save/Load Game" -horizontal_alignment = 1 - -[node name="ScrollContainer" type="ScrollContainer" parent="Panel/MarginContainer/VBoxContainer"] -custom_minimum_size = Vector2(0, 500) -layout_mode = 2 -horizontal_scroll_mode = 0 - -[node name="SaveFilesList" parent="Panel/MarginContainer/VBoxContainer/ScrollContainer" instance=ExtResource("1_tqtxm")] -layout_mode = 2 -size_flags_horizontal = 6 - -[node name="SaveFilePanel" parent="Panel/MarginContainer/VBoxContainer/ScrollContainer/SaveFilesList" instance=ExtResource("2_6uxbh")] -layout_mode = 2 - -[node name="BottomRow" type="HBoxContainer" parent="Panel/MarginContainer/VBoxContainer"] -layout_mode = 2 -alignment = 1 - -[node name="SaveButton" type="TextureButton" parent="Panel/MarginContainer/VBoxContainer/BottomRow"] -clip_contents = true -custom_minimum_size = Vector2(32, 32) -layout_mode = 2 -tooltip_text = "New Save" -texture_normal = ExtResource("3_lo08d") -texture_pressed = ExtResource("4_md7la") -texture_hover = ExtResource("5_hmxxn") -ignore_texture_size = true -stretch_mode = 5 - -[node name="NewSaveUI" type="Panel" parent="Panel"] -visible = false -custom_minimum_size = Vector2(450, 100) -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="MarginContainer" type="MarginContainer" parent="Panel/NewSaveUI"] -layout_mode = 1 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -205.0 -offset_top = -29.5 -offset_right = 205.0 -offset_bottom = 29.5 -grow_horizontal = 2 -grow_vertical = 2 -theme_override_constants/margin_left = 5 -theme_override_constants/margin_top = 5 -theme_override_constants/margin_right = 5 -theme_override_constants/margin_bottom = 5 - -[node name="VBoxContainer" type="VBoxContainer" parent="Panel/NewSaveUI/MarginContainer"] -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 - -[node name="SaveNameLabel" type="Label" parent="Panel/NewSaveUI/MarginContainer/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 20 -text = "Create New Save" - -[node name="SaveNameInput" type="LineEdit" parent="Panel/NewSaveUI/MarginContainer/VBoxContainer"] -custom_minimum_size = Vector2(400, 0) -layout_mode = 2 -placeholder_text = "New Save File Name" - -[node name="SaveButton" type="Button" parent="Panel/NewSaveUI/MarginContainer/VBoxContainer"] -layout_mode = 2 -text = "Create Save" - -[node name="CancelButton" type="Button" parent="Panel/NewSaveUI/MarginContainer/VBoxContainer"] -layout_mode = 2 -text = "Cancel" diff --git a/scenes/ui/pause_menu/saves_menu.gd b/scenes/ui/pause_menu/saves_menu.gd index 9a7ae9e..35527ca 100644 --- a/scenes/ui/pause_menu/saves_menu.gd +++ b/scenes/ui/pause_menu/saves_menu.gd @@ -11,7 +11,6 @@ signal open_save_list @export var create_save_button: BaseButton @export var create_save_cancel_button: BaseButton -@export var ui_node: CanvasLayer ## The UI to Show/Hide when taking screenshot (e.g. save icon generation) @export var save_files_list_ui: SaveFilesListUI From 13ffe080cfd8a3e243b6f44c57e9033f423dfe94 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sun, 30 Mar 2025 09:57:16 -0400 Subject: [PATCH 15/17] Correcting save menu open and hidden after creating a new save --- scenes/ui/pause_menu/saves_menu.gd | 1 + 1 file changed, 1 insertion(+) diff --git a/scenes/ui/pause_menu/saves_menu.gd b/scenes/ui/pause_menu/saves_menu.gd index 35527ca..8260b6c 100644 --- a/scenes/ui/pause_menu/saves_menu.gd +++ b/scenes/ui/pause_menu/saves_menu.gd @@ -34,6 +34,7 @@ func _on_create_save_button_pressed() -> void: await get_tree().create_timer(.150).timeout # A hack to allow time for UI to hide before taking screenshot SaveGameManager.create_save.emit(save_name) + pause_menu.open_menu.emit("") SignalManager.resume_game.emit() func _on_create_save_cancel_button_pressed() -> void: From c0d04507f2a331ed344a15bf570e22663114c2a2 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sun, 30 Mar 2025 09:59:34 -0400 Subject: [PATCH 16/17] Updating offsets --- scenes/ui/pause_menu/base_menu.tscn | 2 +- scenes/ui/pause_menu/pause_menu.tscn | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/scenes/ui/pause_menu/base_menu.tscn b/scenes/ui/pause_menu/base_menu.tscn index d2255eb..d70fc6e 100644 --- a/scenes/ui/pause_menu/base_menu.tscn +++ b/scenes/ui/pause_menu/base_menu.tscn @@ -96,7 +96,6 @@ _data = { } [node name="BaseMenu" type="ColorRect" node_paths=PackedStringArray("animation_player")] -visible = false custom_minimum_size = Vector2(400, 0) anchors_preset = 9 anchor_bottom = 1.0 @@ -108,6 +107,7 @@ script = ExtResource("2_3sxei") animation_player = NodePath("AnimationPlayer") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] +reset_on_save = false libraries = { &"": SubResource("AnimationLibrary_q12vw") } diff --git a/scenes/ui/pause_menu/pause_menu.tscn b/scenes/ui/pause_menu/pause_menu.tscn index 386a57e..ed4ec64 100644 --- a/scenes/ui/pause_menu/pause_menu.tscn +++ b/scenes/ui/pause_menu/pause_menu.tscn @@ -20,11 +20,15 @@ script = ExtResource("1_ugqbi") [node name="MainMenu" parent="." instance=ExtResource("2_rv5mv")] layout_mode = 1 +offset_left = 0.0 +offset_right = 400.0 [node name="SettingsMenu" parent="." instance=ExtResource("3_rv5mv")] layout_mode = 1 +offset_left = 0.0 +offset_right = 400.0 [node name="SavesMenu" parent="." instance=ExtResource("4_rv5mv")] layout_mode = 1 -offset_left = -400.0 -offset_right = 50.0 +offset_left = 0.0 +offset_right = 450.0 From 1015d89c0beebe42a552009a1695a5b03c866cc7 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sun, 30 Mar 2025 10:00:28 -0400 Subject: [PATCH 17/17] Set visible on menus --- scenes/ui/pause_menu/pause_menu.tscn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scenes/ui/pause_menu/pause_menu.tscn b/scenes/ui/pause_menu/pause_menu.tscn index ed4ec64..e2476cb 100644 --- a/scenes/ui/pause_menu/pause_menu.tscn +++ b/scenes/ui/pause_menu/pause_menu.tscn @@ -19,16 +19,19 @@ theme_override_styles/panel = SubResource("StyleBoxFlat_4xojl") script = ExtResource("1_ugqbi") [node name="MainMenu" parent="." instance=ExtResource("2_rv5mv")] +visible = false layout_mode = 1 offset_left = 0.0 offset_right = 400.0 [node name="SettingsMenu" parent="." instance=ExtResource("3_rv5mv")] +visible = false layout_mode = 1 offset_left = 0.0 offset_right = 400.0 [node name="SavesMenu" parent="." instance=ExtResource("4_rv5mv")] +visible = false layout_mode = 1 offset_left = 0.0 offset_right = 450.0