Dev demo 1.2

* Ajout d'un paramètre de FOV
* Ajout d'un paramètre d'auto pickup des graines
This commit is contained in:
2026-06-08 18:37:55 +02:00
parent 1e2563e328
commit 5aff9eadaa
13 changed files with 124 additions and 47 deletions

View File

@@ -8,57 +8,72 @@ class_name GuiSettings
@export_tool_button("Close", "Callable") var close_action = close_settings
func _ready():
setup_languages()
setup_sound()
setup_video()
show()
if not Engine.is_editor_hint():
%SettingsWindow.close_window()
setup_languages()
setup_sound()
setup_video()
setup_controls()
show()
%SettingsWindow.hide()
%SettingsWindow.closed.connect(
func():
GameInfo.save_settings()
)
func open_settings():
setup_languages()
setup_sound()
setup_video()
show()
%SettingsWindow.open_window()
setup_languages()
setup_sound()
setup_controls()
show()
%SettingsWindow.open_window()
func close_settings():
GameInfo.save_settings()
%SettingsWindow.close_window()
GameInfo.save_settings()
%SettingsWindow.close_window()
func setup_languages():
var optionButton := (%LanguageOptionButton as OptionButton)
optionButton.clear()
for language in SettingsData.AVAILABLE_LANGUAGES_LABEL:
optionButton.add_item(language)
optionButton.selected = SettingsData.AVAILABLE_LANGUAGES.find(settings.language)
var optionButton := (%LanguageOptionButton as OptionButton)
optionButton.clear()
for language in SettingsData.AVAILABLE_LANGUAGES_LABEL:
optionButton.add_item(language)
optionButton.selected = SettingsData.AVAILABLE_LANGUAGES.find(settings.language)
func setup_sound():
%MusicSlider.value = settings.music_volume
%EnvSlider.value = settings.ambiance_volume
%SFXSlider.value = settings.sfx_volume
%MusicSlider.value = settings.music_volume
%EnvSlider.value = settings.ambiance_volume
%SFXSlider.value = settings.sfx_volume
func setup_video():
%FullScreenCheckBox.button_pressed = settings.full_screen
%FullScreenCheckBox.button_pressed = settings.full_screen
func setup_controls():
%AutoPickupCheckBox.button_pressed = settings.auto_pickup
%FovSlider.value = settings.fov
func _on_language_option_button_item_selected(index: int):
settings.language = SettingsData.AVAILABLE_LANGUAGES[index]
settings.language = SettingsData.AVAILABLE_LANGUAGES[index]
func _on_full_screen_check_box_toggled(toggled_on: bool):
settings.full_screen = toggled_on
settings.full_screen = toggled_on
func _on_music_slider_value_changed(value: float):
if value != settings.music_volume:
%MusicTestPlayer.play()
settings.music_volume = min(1.0, value)
if value != settings.music_volume:
%MusicTestPlayer.play()
settings.music_volume = min(1.0, value)
func _on_env_slider_value_changed(value: float):
if value != settings.ambiance_volume:
%AudioStreamPlayer.play()
settings.ambiance_volume = min(1.0, value)
if value != settings.ambiance_volume:
%AudioStreamPlayer.play()
settings.ambiance_volume = min(1.0, value)
func _on_sfx_slider_value_changed(value: float):
if value != settings.sfx_volume:
%SfxTestPlayer.play()
settings.sfx_volume = min(1.0, value)
if value != settings.sfx_volume:
%SfxTestPlayer.play()
settings.sfx_volume = min(1.0, value)
func _on_auto_pickup_check_box_toggled(toggled_on: bool):
settings.auto_pickup = toggled_on
func _on_fov_slider_value_changed(value):
if is_node_ready():
settings.fov = value

View File

@@ -23,6 +23,7 @@ script = ExtResource("1_7t8mv")
[node name="SettingsWindow" parent="." unique_id=798514856 instance=ExtResource("1_gkn1k")]
unique_name_in_owner = true
process_mode = 3
custom_minimum_size = Vector2(700, 600)
layout_mode = 1
offset_left = -349.99994
offset_right = 350.00055
@@ -131,6 +132,40 @@ size_flags_horizontal = 10
size_flags_vertical = 4
theme = ExtResource("2_7t8mv")
[node name="FovSliderText" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/VideoSettings" unique_id=1512796885 instance=ExtResource("4_rbiwc")]
layout_mode = 2
size_flags_horizontal = 3
text = "FOV"
[node name="FovSlider" type="HSlider" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/VideoSettings" unique_id=1863124478]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme = ExtResource("2_7t8mv")
min_value = 25.0
max_value = 150.0
value = 25.0
[node name="GameTitle" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent" unique_id=1070654753 instance=ExtResource("3_rbiwc")]
layout_mode = 2
title = "GAME"
[node name="GameSettings" type="GridContainer" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent" unique_id=51915883]
layout_mode = 2
columns = 2
[node name="AutoPickupText" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/GameSettings" unique_id=1206884739 instance=ExtResource("4_rbiwc")]
layout_mode = 2
text = "AUTO_PICKUP"
[node name="AutoPickupCheckBox" type="CheckBox" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/GameSettings" unique_id=679739606]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 10
size_flags_vertical = 4
theme = ExtResource("2_7t8mv")
[node name="MusicTestPlayer" type="AudioStreamPlayer" parent="." unique_id=1716804039]
unique_name_in_owner = true
stream = ExtResource("6_8f00b")
@@ -151,5 +186,7 @@ bus = &"Sfx"
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/EnvSlider" to="." method="_on_env_slider_value_changed"]
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/SFXSlider" to="." method="_on_sfx_slider_value_changed"]
[connection signal="toggled" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/VideoSettings/FullScreenCheckBox" to="." method="_on_full_screen_check_box_toggled"]
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/VideoSettings/FovSlider" to="." method="_on_fov_slider_value_changed"]
[connection signal="toggled" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/GameSettings/AutoPickupCheckBox" to="." method="_on_auto_pickup_check_box_toggled"]
[editable path="SettingsWindow"]