Issue 336 (#380)

Co-authored-by: Dennis Ploeger <develop@dieploegers.de>
Co-authored-by: dploeger <dploeger@users.noreply.github.com>
This commit is contained in:
Dennis Ploeger
2021-08-30 20:57:25 +02:00
committed by GitHub
parent 3b36031f24
commit 3dc779311c
35 changed files with 389 additions and 254 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -6,6 +6,29 @@ onready var settings_changed = false
var backup_settings
# A list of languages already added to the language selection
var _loaded_languages: Array = []
func _ready() -> void:
var _flags_container: HBoxContainer = \
$CenterContainer/VBoxContainer/MarginContainer/options/flags
for child in _flags_container.get_children():
_flags_container.remove_child(child)
_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(
"res://game/ui/commons/options/flags/%s.png" % lang
)
_flags_container.add_child(_lang)
_lang.connect("gui_input", self, "_on_language_input", [lang])
func show():
backup_settings = escoria.settings.duplicate()
initialize_options(escoria.settings)
@@ -13,13 +36,10 @@ func show():
func initialize_options(p_settings):
$options/general_volume.value = p_settings["master_volume"]
$options/sound_volume.value = p_settings["sfx_volume"]
$options/music_volume.value = p_settings["music_volume"]
func greyout_other_languages(_except_lang: String) -> void:
pass
var _options = $CenterContainer/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"]
func _on_language_input(event: InputEvent, language: String):

View File

@@ -1,8 +1,6 @@
[gd_scene load_steps=5 format=2]
[gd_scene load_steps=3 format=2]
[ext_resource path="res://game/ui/commons/fonts/caslonantique.tres" type="DynamicFont" id=1]
[ext_resource path="res://game/ui/commons/main_menu/flags/en_EN_small.png" type="Texture" id=2]
[ext_resource path="res://game/ui/commons/main_menu/flags/fr_FR_small.png" type="Texture" id=3]
[ext_resource path="res://game/ui/commons/options/options.gd" type="Script" id=4]
[node name="options" type="Control"]
@@ -13,133 +11,139 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="back" type="Button" parent="."]
margin_left = 130.0
margin_top = 329.0
margin_right = 304.0
margin_bottom = 383.0
custom_fonts/font = ExtResource( 1 )
text = "OPTIONS_BACK"
[node name="CenterContainer" type="CenterContainer" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer"]
margin_left = 482.0
margin_top = 366.0
margin_right = 798.0
margin_bottom = 533.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="options" type="GridContainer" parent="."]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -275.5
margin_top = -75.0
margin_right = 275.5
margin_bottom = 75.0
[node name="MarginContainer" type="MarginContainer" parent="CenterContainer/VBoxContainer"]
margin_right = 316.0
margin_bottom = 136.0
size_flags_vertical = 6
custom_constants/margin_right = 20
custom_constants/margin_top = 20
custom_constants/margin_left = 20
custom_constants/margin_bottom = 20
[node name="options" type="GridContainer" parent="CenterContainer/VBoxContainer/MarginContainer"]
margin_left = 20.0
margin_top = 20.0
margin_right = 296.0
margin_bottom = 116.0
size_flags_vertical = 6
custom_constants/hseparation = 40
columns = 2
__meta__ = {
"_edit_use_anchors_": false
}
[node name="label" type="Label" parent="options"]
margin_top = 27.0
[node name="label" type="Label" parent="CenterContainer/VBoxContainer/MarginContainer/options"]
margin_right = 220.0
margin_bottom = 48.0
margin_bottom = 21.0
custom_fonts/font = ExtResource( 1 )
text = "OPTIONS_LANGUAGE"
[node name="flags" type="HBoxContainer" parent="options"]
[node name="flags" type="HBoxContainer" parent="CenterContainer/VBoxContainer/MarginContainer/options"]
margin_left = 260.0
margin_right = 553.0
margin_bottom = 75.0
margin_right = 276.0
margin_bottom = 21.0
size_flags_vertical = 3
custom_constants/separation = 30
alignment = 1
[node name="fr" type="TextureRect" parent="options/flags"]
margin_right = 113.0
margin_bottom = 75.0
texture = ExtResource( 3 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="en" type="TextureRect" parent="options/flags"]
margin_left = 143.0
margin_right = 293.0
margin_bottom = 75.0
texture = ExtResource( 2 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="label2" type="Label" parent="options"]
margin_top = 79.0
[node name="label2" type="Label" parent="CenterContainer/VBoxContainer/MarginContainer/options"]
margin_top = 25.0
margin_right = 220.0
margin_bottom = 100.0
margin_bottom = 46.0
custom_fonts/font = ExtResource( 1 )
text = "GENERAL_VOLUME"
[node name="general_volume" type="HSlider" parent="options"]
[node name="general_volume" type="HSlider" parent="CenterContainer/VBoxContainer/MarginContainer/options"]
margin_left = 260.0
margin_top = 79.0
margin_right = 553.0
margin_bottom = 95.0
margin_top = 25.0
margin_right = 276.0
margin_bottom = 41.0
size_flags_horizontal = 3
min_value = 0.001
max_value = 1.0
step = 0.001
value = 0.001
[node name="label3" type="Label" parent="options"]
margin_top = 104.0
[node name="label3" type="Label" parent="CenterContainer/VBoxContainer/MarginContainer/options"]
margin_top = 50.0
margin_right = 220.0
margin_bottom = 125.0
margin_bottom = 71.0
custom_fonts/font = ExtResource( 1 )
text = "SOUND_VOLUME"
[node name="sound_volume" type="HSlider" parent="options"]
[node name="sound_volume" type="HSlider" parent="CenterContainer/VBoxContainer/MarginContainer/options"]
margin_left = 260.0
margin_top = 104.0
margin_right = 553.0
margin_bottom = 120.0
margin_top = 50.0
margin_right = 276.0
margin_bottom = 66.0
size_flags_horizontal = 3
min_value = 0.001
max_value = 1.0
step = 0.001
value = 0.001
[node name="label4" type="Label" parent="options"]
margin_top = 129.0
[node name="label4" type="Label" parent="CenterContainer/VBoxContainer/MarginContainer/options"]
margin_top = 75.0
margin_right = 220.0
margin_bottom = 150.0
margin_bottom = 96.0
custom_fonts/font = ExtResource( 1 )
text = "MUSIC_VOLUME"
[node name="music_volume" type="HSlider" parent="options"]
[node name="music_volume" type="HSlider" parent="CenterContainer/VBoxContainer/MarginContainer/options"]
margin_left = 260.0
margin_top = 129.0
margin_right = 553.0
margin_bottom = 145.0
margin_top = 75.0
margin_right = 276.0
margin_bottom = 91.0
size_flags_horizontal = 3
min_value = 0.001
max_value = 1.0
step = 0.001
value = 0.001
[node name="apply" type="Button" parent="."]
margin_left = 364.0
margin_top = 712.0
margin_right = 544.0
margin_bottom = 767.0
[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer/VBoxContainer"]
margin_top = 140.0
margin_right = 316.0
margin_bottom = 167.0
custom_constants/separation = 20
alignment = 1
[node name="back" type="Button" parent="CenterContainer/VBoxContainer/HBoxContainer"]
margin_left = 22.0
margin_right = 196.0
margin_bottom = 27.0
custom_fonts/font = ExtResource( 1 )
text = "OPTIONS_BACK"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="apply" type="Button" parent="CenterContainer/VBoxContainer/HBoxContainer"]
margin_left = 216.0
margin_right = 293.0
margin_bottom = 27.0
custom_fonts/font = ExtResource( 1 )
text = "APPLY"
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="pressed" from="back" to="." method="_on_back_pressed"]
[connection signal="gui_input" from="options/flags/fr" to="." method="_on_language_input" binds= [ "fr" ]]
[connection signal="gui_input" from="options/flags/en" to="." method="_on_language_input" binds= [ "en" ]]
[connection signal="value_changed" from="options/general_volume" to="." method="_on_general_volume_changed"]
[connection signal="value_changed" from="options/sound_volume" to="." method="_on_sound_volume_changed"]
[connection signal="value_changed" from="options/music_volume" to="." method="_on_music_volume_changed"]
[connection signal="pressed" from="apply" to="." method="_on_apply_pressed"]
[connection signal="value_changed" from="CenterContainer/VBoxContainer/MarginContainer/options/general_volume" to="." method="_on_general_volume_changed"]
[connection signal="value_changed" from="CenterContainer/VBoxContainer/MarginContainer/options/sound_volume" to="." method="_on_sound_volume_changed"]
[connection signal="value_changed" from="CenterContainer/VBoxContainer/MarginContainer/options/music_volume" to="." method="_on_music_volume_changed"]
[connection signal="pressed" from="CenterContainer/VBoxContainer/HBoxContainer/back" to="." method="_on_back_pressed"]
[connection signal="pressed" from="CenterContainer/VBoxContainer/HBoxContainer/apply" to="." method="_on_apply_pressed"]