private void Start()
        {
            OnMusicVolumeChanged?.Invoke(MusicVolume);
            OnEffectsVolumeChanged?.Invoke(EffectsVolume);
            OnMiscVolumeChanged?.Invoke(MiscVolume);

            UpdateUI();

            hasInitialized = true;
        }
        public void SetEffectsVolume(float value)
        {
            if (hasInitialized)
            {
                currentEffectsVolume = value;

                OnEffectsVolumeChanged?.Invoke(EffectsVolume);

                SaveSettings();
            }
        }
        public void ToggleMuted()
        {
            if (hasInitialized)
            {
                isMuted = !isMuted;

                muteButtonText.text = isMuted ? "Unmute" : "Mute";

                OnMusicVolumeChanged?.Invoke(MusicVolume);
                OnEffectsVolumeChanged?.Invoke(EffectsVolume);
                OnMiscVolumeChanged?.Invoke(MiscVolume);

                SaveSettings();
            }
        }