using Godot; using Newlon; public partial class AudioSlider : HSlider { enum TYPE { SFX, MUSIC } [Export] private TYPE affects; public override void _Ready() { ValueChanged += OnValueChanged; if (affects == TYPE.SFX) { SetValueNoSignal(Settings.SFX); } else { SetValueNoSignal(Settings.Music); } } private void OnValueChanged(double value) { if (affects == TYPE.SFX) { var volume = Mathf.LinearToDb(Mathf.Exp((float)value) - 1); ; Settings.SFX = value; AudioServer.SetBusVolumeDb(2, volume); } else { var volume = Mathf.LinearToDb(Mathf.Exp((float)value) - 1); ; Settings.Music = value; AudioServer.SetBusVolumeDb(1, volume); } } }