[gd_scene load_steps=2 format=3 uid="uid://w5te3qujco7d"] [sub_resource type="GDScript" id="GDScript_a5kgg"] script/source = "extends Control signal request_start @onready var label_name = $VBoxContainer/MarginContainer/VBoxContainer/Description/Name func _ready() -> void: $VBoxContainer/MarginContainer.hide() ## Get the newest \"played_for\" when the main menu appears again func _enter_tree() -> void: if len(SaveFiles.selected_file): display_file_data(SaveFiles.selected_file) func _on_save_1_pressed() -> void: label_name.text = $VBoxContainer/Save1.text display_file_data(SaveFiles.names[0]) func _on_save_2_pressed() -> void: label_name.text = $VBoxContainer/Save2.text display_file_data(SaveFiles.names[1]) func _on_save_3_pressed() -> void: label_name.text = $VBoxContainer/Save3.text display_file_data(SaveFiles.names[2]) func display_file_data(file_name: String) -> void: $VBoxContainer/MarginContainer.show() var label_time := $VBoxContainer/MarginContainer/VBoxContainer/Description/Time var data = SaveFiles.read(file_name) $VBoxContainer/MarginContainer.show() label_time.text = \" | \" if data.has(\"played_for\") and data.played_for is float: var seconds: float = data.played_for var minutes: int = floor(seconds / 60) label_time.text += (\"%0*d\" % [2, minutes]) + \":\" + (\"%0*.3f\" % [6, seconds - (minutes * 60)]) else: label_time.text += \"00:00.000\" func _on_start_pressed() -> void: request_start.emit() func _on_delete_pressed() -> void: SaveFiles.empty(SaveFiles.selected_file) display_file_data(SaveFiles.selected_file) " [node name="SaveFileManager" type="Control"] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = SubResource("GDScript_a5kgg") [node name="VBoxContainer" type="VBoxContainer" parent="."] layout_mode = 1 anchors_preset = 14 anchor_top = 0.5 anchor_right = 1.0 anchor_bottom = 0.5 offset_top = -50.5 offset_bottom = 50.5 grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 3 alignment = 1 [node name="Save1" type="Button" parent="VBoxContainer"] layout_mode = 2 text = "Save file #1" [node name="Save2" type="Button" parent="VBoxContainer"] layout_mode = 2 text = "Save file #2" [node name="Save3" type="Button" parent="VBoxContainer"] layout_mode = 2 text = "Save file #3" [node name="MarginContainer" type="MarginContainer" parent="VBoxContainer"] layout_mode = 2 theme_override_constants/margin_left = 30 theme_override_constants/margin_top = 30 theme_override_constants/margin_right = 30 theme_override_constants/margin_bottom = 30 [node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/MarginContainer"] layout_mode = 2 [node name="Description" type="HBoxContainer" parent="VBoxContainer/MarginContainer/VBoxContainer"] layout_mode = 2 alignment = 1 [node name="Name" type="Label" parent="VBoxContainer/MarginContainer/VBoxContainer/Description"] layout_mode = 2 text = "Save File" horizontal_alignment = 1 [node name="Time" type="Label" parent="VBoxContainer/MarginContainer/VBoxContainer/Description"] layout_mode = 2 [node name="Buttons" type="HBoxContainer" parent="VBoxContainer/MarginContainer/VBoxContainer"] layout_mode = 2 theme_override_constants/separation = 10 alignment = 1 [node name="Start" type="Button" parent="VBoxContainer/MarginContainer/VBoxContainer/Buttons"] layout_mode = 2 size_flags_horizontal = 3 text = "Start" [node name="Delete" type="Button" parent="VBoxContainer/MarginContainer/VBoxContainer/Buttons"] layout_mode = 2 text = "Delete" [connection signal="pressed" from="VBoxContainer/Save1" to="." method="_on_save_1_pressed"] [connection signal="pressed" from="VBoxContainer/Save2" to="." method="_on_save_2_pressed"] [connection signal="pressed" from="VBoxContainer/Save3" to="." method="_on_save_3_pressed"] [connection signal="pressed" from="VBoxContainer/MarginContainer/VBoxContainer/Buttons/Start" to="." method="_on_start_pressed"] [connection signal="pressed" from="VBoxContainer/MarginContainer/VBoxContainer/Buttons/Delete" to="." method="_on_delete_pressed"]