55 lines
1.8 KiB
GDScript
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)
|