ajout de panneaux de contrôles, de paramètres et refactorisation de la gestion de l'audio
This commit is contained in:
53
gui/menu/settings/scripts/settings.gd
Normal file
53
gui/menu/settings/scripts/settings.gd
Normal file
@@ -0,0 +1,53 @@
|
||||
@tool
|
||||
extends Control
|
||||
class_name GuiSettings
|
||||
|
||||
@onready var settings : SettingsData = GameInfo.game_data.settings
|
||||
|
||||
@export_tool_button("Open", "Callable") var open_action = open_settings
|
||||
@export_tool_button("Close", "Callable") var close_action = close_settings
|
||||
|
||||
func _ready():
|
||||
setup_languages()
|
||||
setup_sound()
|
||||
setup_video()
|
||||
if not Engine.is_editor_hint():
|
||||
%SettingsWindow.close_window()
|
||||
show()
|
||||
|
||||
func open_settings():
|
||||
%SettingsWindow.open_window()
|
||||
|
||||
func close_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)
|
||||
|
||||
func setup_sound():
|
||||
%MusicSlider.value = settings.music_volume
|
||||
%EnvSlider.value = settings.ambiance_volume
|
||||
%SFXSlider.value = settings.sfx_volume
|
||||
|
||||
func setup_video():
|
||||
%FullScreenCheckBox.button_pressed = settings.full_screen
|
||||
|
||||
func _on_language_option_button_item_selected(index: int):
|
||||
settings.language = SettingsData.AVAILABLE_LANGUAGES[index]
|
||||
|
||||
|
||||
func _on_full_screen_check_box_toggled(toggled_on: bool):
|
||||
settings.full_screen = toggled_on
|
||||
|
||||
func _on_music_slider_value_changed(value: float):
|
||||
settings.music_volume = min(1.0, value)
|
||||
|
||||
func _on_env_slider_value_changed(value: float):
|
||||
settings.ambiance_volume = min(1.0, value)
|
||||
|
||||
func _on_sfx_slider_value_changed(value: float):
|
||||
settings.sfx_volume = min(1.0, value)
|
||||
1
gui/menu/settings/scripts/settings.gd.uid
Normal file
1
gui/menu/settings/scripts/settings.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bms0xtv8vh2qg
|
||||
Reference in New Issue
Block a user