using Godot; using Newlon; public partial class AudioSlider : HSlider { enum TYPE { SFX, MUSIC } [Export] private TYPE affects; public override void _Ready() { DragEnded += OnDragEnded; if (affects == TYPE.SFX) { SetValueNoSignal(Settings.SFX); } else { SetValueNoSignal(Settings.Music); } } private void OnDragEnded(bool hasChanged) { if (hasChanged) { if (affects == TYPE.SFX) { Settings.SFX = Value; AudioServer.SetBusVolumeDb(2, Mathf.LinearToDb((float)Value)); } else { Settings.Music = Value; AudioServer.SetBusVolumeDb(1, Mathf.LinearToDb((float)Value)); } } } }