using UnityEngine; namespace TemplateUnity.Core { public class AudioHandler: MonoBehaviour { [SerializeField] private AudioSource musicSource; private float _sfxVolume; private void Start() { DontDestroyOnLoad(gameObject.transform); UpdateAudioVolume(); OptionHandler.Instance.OnAudiosettingChange += (_,_) => UpdateAudioVolume(); } private void UpdateAudioVolume () { float max = OptionHandler.Instance.MaxVolume; float masterVolume = OptionHandler.Instance.MasterVolume; float musicVolume = OptionHandler.Instance.MusicVolume; float sfxVolume = OptionHandler.Instance.SfxVolume; musicSource.volume = musicVolume * masterVolume / Mathf.Pow(max,2); _sfxVolume = sfxVolume * masterVolume / Mathf.Pow(max,2); } } }