master volume settings
This commit is contained in:
@@ -30,6 +30,11 @@ const AVAILABLE_LANGUAGES_LABEL = [
|
||||
|
||||
#region ------------------ Sound ------------------
|
||||
|
||||
@export var master_volume : float = 1.0 :
|
||||
set(v):
|
||||
master_volume = v
|
||||
sound_changed.emit(self)
|
||||
|
||||
@export var music_volume : float = 0.7 :
|
||||
set(v):
|
||||
music_volume = v
|
||||
|
||||
@@ -92,6 +92,7 @@ func _on_settings_language_changed(s : SettingsData):
|
||||
update_language_settings(s)
|
||||
|
||||
func _on_settings_sound_changed(s : SettingsData):
|
||||
AudioServer.set_bus_volume_db(0, linear_to_db(s.master_volume))
|
||||
AudioServer.set_bus_volume_db(SettingsData.MUSIC_BUS_ID, linear_to_db(s.music_volume))
|
||||
AudioServer.set_bus_volume_db(SettingsData.SFX_BUS_ID, linear_to_db(s.sfx_volume))
|
||||
AudioServer.set_bus_volume_db(SettingsData.AMBIANCE_BUS_ID, linear_to_db(s.ambiance_volume))
|
||||
|
||||
@@ -49,6 +49,7 @@ func setup_languages():
|
||||
optionButton.selected = SettingsData.AVAILABLE_LANGUAGES.find(settings.language)
|
||||
|
||||
func setup_sound():
|
||||
%MasterSlider.value = settings.master_volume
|
||||
%MusicSlider.value = settings.music_volume
|
||||
%EnvSlider.value = settings.ambiance_volume
|
||||
%SFXSlider.value = settings.sfx_volume
|
||||
@@ -83,20 +84,21 @@ func _on_language_option_button_item_selected(index: int):
|
||||
func _on_full_screen_check_box_toggled(toggled_on: bool):
|
||||
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)
|
||||
func _on_master_slider_drag_ended(_value_changed: bool) -> void:
|
||||
%MasterTestPlayer.play()
|
||||
settings.master_volume = clamp(%MasterSlider.value, 0.0, 1.0)
|
||||
|
||||
func _on_env_slider_value_changed(value: float):
|
||||
if value != settings.ambiance_volume:
|
||||
%AudioStreamPlayer.play()
|
||||
settings.ambiance_volume = min(1.0, value)
|
||||
func _on_music_slider_drag_endeded(_value_changed: bool) -> void:
|
||||
%MusicTestPlayer.play()
|
||||
settings.music_volume = clamp(%MusicSlider.value, 0.0, 1.0)
|
||||
|
||||
func _on_sfx_slider_value_changed(value: float):
|
||||
if value != settings.sfx_volume:
|
||||
%SfxTestPlayer.play()
|
||||
settings.sfx_volume = min(1.0, value)
|
||||
func _on_env_slider_drag_endeded(_value_changed: bool) -> void:
|
||||
%AmbianceTestPlayer.play()
|
||||
settings.ambiance_volume = clamp(%EnvSlider.value, 0.0, 1.0)
|
||||
|
||||
func _on_sfx_slider_drag_endeded(_value_changed: bool) -> void:
|
||||
%SfxTestPlayer.play()
|
||||
settings.sfx_volume = clamp(%SFXSlider.value, 0.0, 1.0)
|
||||
|
||||
func _on_auto_pickup_check_box_toggled(toggled_on: bool):
|
||||
settings.auto_pickup = toggled_on
|
||||
|
||||
@@ -87,6 +87,20 @@ title = "SOUND"
|
||||
layout_mode = 2
|
||||
columns = 2
|
||||
|
||||
[node name="MasterText" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders" unique_id=1907057953 instance=ExtResource("4_rbiwc")]
|
||||
layout_mode = 2
|
||||
text = "MASTER_VOLUME"
|
||||
|
||||
[node name="MasterSlider" type="HSlider" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders" unique_id=886808622]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme = ExtResource("2_7t8mv")
|
||||
max_value = 1.0
|
||||
step = 0.01
|
||||
value = 1.0
|
||||
|
||||
[node name="MusicText" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders" unique_id=282651139 instance=ExtResource("4_rbiwc")]
|
||||
layout_mode = 2
|
||||
text = "MUSIC_VOLUME"
|
||||
@@ -281,12 +295,16 @@ text = "PSEUDO_GATHERED "
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="MasterTestPlayer" type="AudioStreamPlayer" parent="." unique_id=1170520824]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_8f00b")
|
||||
|
||||
[node name="MusicTestPlayer" type="AudioStreamPlayer" parent="." unique_id=1716804039]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_8f00b")
|
||||
bus = &"Music"
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="." unique_id=658541025]
|
||||
[node name="AmbianceTestPlayer" type="AudioStreamPlayer" parent="." unique_id=658541025]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_8f00b")
|
||||
bus = &"Ambiance"
|
||||
@@ -297,9 +315,10 @@ stream = ExtResource("6_8f00b")
|
||||
bus = &"Sfx"
|
||||
|
||||
[connection signal="item_selected" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/LanguageSettings/LanguageOptionButton" to="." method="_on_language_option_button_item_selected"]
|
||||
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/MusicSlider" to="." method="_on_music_slider_value_changed"]
|
||||
[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="drag_ended" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/MasterSlider" to="." method="_on_master_slider_drag_ended"]
|
||||
[connection signal="drag_ended" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/MusicSlider" to="." method="_on_music_slider_drag_endeded"]
|
||||
[connection signal="drag_ended" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/EnvSlider" to="." method="_on_env_slider_drag_endeded"]
|
||||
[connection signal="drag_ended" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/SFXSlider" to="." method="_on_sfx_slider_drag_endeded"]
|
||||
[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/UiSizeSlider" to="." method="_on_ui_size_slider_value_changed"]
|
||||
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/VideoSettings/FovSlider" to="." method="_on_fov_slider_value_changed"]
|
||||
|
||||
Reference in New Issue
Block a user