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

            UpdateUI();

            hasInitialized = true;
        }
        public void SetMusicVolume(float value)
        {
            if (hasInitialized)
            {
                currentMusicVolume = value;

                OnMusicVolumeChanged?.Invoke(MusicVolume);

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

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

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

                SaveSettings();
            }
        }