Cow_Life_Sim_RPG/UI/MenuBar/OptionsMenu.gd

55 lines
1.8 KiB
GDScript

extends PanelContainer
var totalVolSlider:HSlider
var musicVolSlider:HSlider
var sfxVolSlider:HSlider
var limeOption:CheckBox
var messageOption:CheckBox
func _ready():
totalVolSlider = %TotalVolSlider
musicVolSlider = %MusicVolSlider
sfxVolSlider = %SFXVolSlider
limeOption = %limeCheck
messageOption = %messageCheck
initialize_volume_bars()
update_volumes(0)
totalVolSlider.value_changed.connect(update_volumes)
musicVolSlider.value_changed.connect(update_volumes)
sfxVolSlider.value_changed.connect(update_volumes)
limeOption.pressed.connect(limeToggled)
func initialize_volume_bars():
var savedTotalVol = SaveManager.get_global_value("totalVol", 100)
totalVolSlider.value = savedTotalVol
var savedMusicVol = SaveManager.get_global_value("musicVol", 100)
musicVolSlider.value = savedMusicVol
var savedSFXVol = SaveManager.get_global_value("sfxVol", 100)
sfxVolSlider.value = savedSFXVol
var savedlimeOption = SaveManager.get_save_value("LimeEnabled", true)
limeOption.button_pressed = savedlimeOption
func update_volumes(_newVolume):
save_volumes()
AudioServer.set_bus_volume_db(0, linear_to_db(totalVolSlider.value))
AudioServer.set_bus_volume_db(1, linear_to_db(musicVolSlider.value))
AudioServer.set_bus_volume_db(2, linear_to_db(sfxVolSlider.value))
func save_volumes():
SaveManager.set_global_value("totalVol", totalVolSlider.value)
SaveManager.set_global_value("musicVol", musicVolSlider.value)
SaveManager.set_global_value("sfxVol", sfxVolSlider.value)
func limeToggled():
SaveManager.set_save_value("LimeEnabled", limeOption.button_pressed)
if !limeOption.button_pressed and SaveManager.get_save_value("BeeslyLimeMode", false):
get_tree().call_group("Beesly", "LimeOff")
func _on_message_check_pressed():
SaveManager.set_save_value("ShowMessageOpt",messageOption.button_pressed)