diff options
Diffstat (limited to 'addons/escoria-core/ui_library/menus')
4 files changed, 50 insertions, 70 deletions
diff --git a/addons/escoria-core/ui_library/menus/load_save/save/save_game.gd b/addons/escoria-core/ui_library/menus/load_save/save/save_game.gd index 33bbb13..ad7e1ca 100644 --- a/addons/escoria-core/ui_library/menus/load_save/save/save_game.gd +++ b/addons/escoria-core/ui_library/menus/load_save/save/save_game.gd @@ -29,9 +29,10 @@ func _on_slot_pressed(p_slot_n: int): # Create the slots from the list of savegames func refresh_savegames(): - var _slots = $VBoxContainer/ScrollContainer/slots - for slot in _slots.get_children(): - _slots.remove_child(slot) + var slots = $VBoxContainer/ScrollContainer/slots + for slot in slots.get_children(): + slots.remove_child(slot) + slot.queue_free() var saves_list = escoria.save_manager.get_saves_list() @@ -44,8 +45,8 @@ func refresh_savegames(): datetime["minute"], ] var new_slot = slot_ui_scene.instantiate() - _slots.add_child(new_slot) - _slots.move_child(new_slot, 0) + slots.add_child(new_slot) + slots.move_child(new_slot, 0) new_slot.set_slot_name_date(tr("New save"), datetime_string) new_slot.connect("pressed", Callable(self, "_on_slot_pressed").bind(saves_list.size()+1)) @@ -56,7 +57,7 @@ func refresh_savegames(): for save in saves_array: new_slot = slot_ui_scene.instantiate() - _slots.add_child(new_slot) + slots.add_child(new_slot) datetime_string = "%02d/%02d/%02d %02d:%02d" % [ save.date["day"], diff --git a/addons/escoria-core/ui_library/menus/load_save/save/save_name_popup.gd b/addons/escoria-core/ui_library/menus/load_save/save/save_name_popup.gd index b631ef2..00ac81f 100644 --- a/addons/escoria-core/ui_library/menus/load_save/save/save_name_popup.gd +++ b/addons/escoria-core/ui_library/menus/load_save/save/save_name_popup.gd @@ -19,3 +19,7 @@ func _input(event): and event.keycode == KEY_ENTER \ or event.keycode == KEY_KP_ENTER: _on_ok_pressed() + + +func _on_about_to_popup() -> void: + $MarginContainer/VBoxContainer/LineEdit.grab_focus() diff --git a/addons/escoria-core/ui_library/menus/load_save/save/save_name_popup.tscn b/addons/escoria-core/ui_library/menus/load_save/save/save_name_popup.tscn index 8d6fc57..5bfb606 100644 --- a/addons/escoria-core/ui_library/menus/load_save/save/save_name_popup.tscn +++ b/addons/escoria-core/ui_library/menus/load_save/save/save_name_popup.tscn @@ -1,71 +1,46 @@ -[gd_scene load_steps=2 format=3 uid="uid://coiqm0xcq8f8o"] +[gd_scene format=3 uid="uid://coiqm0xcq8f8o"] [ext_resource type="Script" uid="uid://blqbjhwtenth5" path="res://addons/escoria-core/ui_library/menus/load_save/save/save_name_popup.gd" id="2"] -[node name="save_name_popup" type="Popup"] -anchor_right = 1.0 -anchor_bottom = 1.0 +[node name="save_name_popup" type="Popup" unique_id=1050292675] +oversampling_override = 1.0 +size = Vector2i(209, 185) script = ExtResource("2") -__meta__ = { -"_edit_use_anchors_": false -} -[node name="MarginContainer" type="MarginContainer" parent="."] +[node name="MarginContainer" type="MarginContainer" parent="." unique_id=410184148] +anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -theme_override_constants/margin_right = 30 -theme_override_constants/margin_top = 30 theme_override_constants/margin_left = 30 +theme_override_constants/margin_top = 30 +theme_override_constants/margin_right = 30 theme_override_constants/margin_bottom = 30 -__meta__ = { -"_edit_use_anchors_": false -} -[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"] -offset_left = 30.0 -offset_top = 401.0 -offset_right = 1250.0 -offset_bottom = 499.0 +[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer" unique_id=440596471] +layout_mode = 2 size_flags_vertical = 4 theme_override_constants/separation = 20 -[node name="Label" type="Label" parent="MarginContainer/VBoxContainer"] -offset_right = 1220.0 -offset_bottom = 14.0 +[node name="Label" type="Label" parent="MarginContainer/VBoxContainer" unique_id=2007386692] +layout_mode = 2 text = "ENTER_SAVE_NAME" -[node name="LineEdit" type="LineEdit" parent="MarginContainer/VBoxContainer"] -offset_top = 34.0 -offset_right = 1220.0 -offset_bottom = 58.0 +[node name="LineEdit" type="LineEdit" parent="MarginContainer/VBoxContainer" unique_id=1605064251] +layout_mode = 2 -[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] -offset_top = 78.0 -offset_right = 1220.0 -offset_bottom = 98.0 +[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer" unique_id=1175843435] +layout_mode = 2 theme_override_constants/separation = 10 alignment = 2 -__meta__ = { -"_edit_use_anchors_": false -} -[node name="cancel" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer"] -offset_left = 1118.0 -offset_right = 1179.0 -offset_bottom = 20.0 +[node name="cancel" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer" unique_id=1190606511] +layout_mode = 2 text = "CANCEL" -__meta__ = { -"_edit_use_anchors_": false -} -[node name="ok" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer"] -offset_left = 1189.0 -offset_right = 1220.0 -offset_bottom = 20.0 +[node name="ok" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer" unique_id=2090364237] +layout_mode = 2 text = "OK" -__meta__ = { -"_edit_use_anchors_": false -} +[connection signal="about_to_popup" from="." to="." method="_on_about_to_popup"] [connection signal="pressed" from="MarginContainer/VBoxContainer/HBoxContainer/cancel" to="." method="_on_cancel_pressed"] [connection signal="pressed" from="MarginContainer/VBoxContainer/HBoxContainer/ok" to="." method="_on_ok_pressed"] diff --git a/addons/escoria-core/ui_library/menus/options/options.gd b/addons/escoria-core/ui_library/menus/options/options.gd index 32a9758..7b270fc 100644 --- a/addons/escoria-core/ui_library/menus/options/options.gd +++ b/addons/escoria-core/ui_library/menus/options/options.gd @@ -24,24 +24,24 @@ var _loaded_languages: Array = [] # Initialize the flags func _ready() -> void: - var _flags_container: HBoxContainer = \ + var flags_container: HBoxContainer = \ $VBoxContainer/MarginContainer/options/flags - for child in _flags_container.get_children(): - _flags_container.remove_child(child) + for child in flags_container.get_children(): + flags_container.remove_child(child) child.queue_free() _loaded_languages = [] - for lang in TranslationServer.get_loaded_locales(): - if not lang in _loaded_languages: - _loaded_languages.append(lang) - var _lang = TextureRect.new() - _lang.texture = load( + for language in TranslationServer.get_loaded_locales(): + if not language in _loaded_languages: + _loaded_languages.append(language) + var language_item = TextureRect.new() + language_item.texture = load( "res://addons/escoria-core/ui_library" + \ - "/menus/options/flags/%s.png" % lang + "/menus/options/flags/%s.png" % language ) - _flags_container.add_child(_lang) - _lang.connect("gui_input", Callable(self, "_on_language_input").bind(lang)) + flags_container.add_child(language_item) + language_item.connect("gui_input", Callable(self, "_on_language_input").bind(language)) # Show the options @@ -56,13 +56,13 @@ func show(): # #### Parameters # - p_settings: The settings to use func initialize_options(p_settings): - var _options = $VBoxContainer/MarginContainer/options - _options.get_node("general_volume").value = p_settings["master_volume"] - _options.get_node("sound_volume").value = p_settings["sfx_volume"] - _options.get_node("music_volume").value = p_settings["music_volume"] - _options.get_node("speech_volume").value = p_settings["speech_volume"] - _options.get_node("ambient_volume").value = p_settings["ambient_volume"] - _options.get_node("fullscreen").set_pressed_no_signal(p_settings["fullscreen"]) + var options = $VBoxContainer/MarginContainer/options + options.get_node("general_volume").value = p_settings["master_volume"] + options.get_node("sound_volume").value = p_settings["sfx_volume"] + options.get_node("music_volume").value = p_settings["music_volume"] + options.get_node("speech_volume").value = p_settings["speech_volume"] + options.get_node("ambient_volume").value = p_settings["ambient_volume"] + options.get_node("fullscreen").set_pressed_no_signal(p_settings["fullscreen"]) # The language was changed |
