Exemple #1
0
        public SoundHandler PlayMusic(AudioClipWithVolume clip, bool loop = true, float pitch  = 1f,
                                      bool ignoreListenerPause            = false, float delay = 0f)
        {
            if (clip == null)
            {
                return(null);
            }

            if (clip.Clip == null)
            {
                return(null);
            }


            if (MusicHandler != null)
            {
                Debug.Log(clip.VolumeModifier);
                MusicHandler.Source.clip = clip.Clip;
                //MusicHandler.Volume = clip.VolumeModifier;
                MusicHandler.Source.volume = clip.VolumeModifier;
                MusicHandler.IsLooped      = loop;
                MusicHandler.Pitch         = pitch;
                MusicHandler.Source.Play();
                return(MusicHandler);
            }

            var handler = Play(clip, loop, pitch, true, delay);

            DontDestroyOnLoad(handler.Source.gameObject);
            MusicHandler = handler;
            return(handler);
        }
Exemple #2
0
 public SoundHandler Play(AudioClipWithVolume clip, bool loop = false, float pitch = 1f,
                          bool ignoreListenerPause            = false, float delay = 0f)
 {
     if (clip == null)
     {
         return(null);
     }
     return(Play(clip.Clip, clip.VolumeModifier, loop, pitch, ignoreListenerPause, delay));
 }
Exemple #3
0
        public static void PlayClip(this AudioSource audioSource, AudioClipWithVolume clip, float additionalModifier = 1f)
        {
            if (clip == null || clip.Clip == null || clip.VolumeModifier < 1e-4)
            {
                return;
            }

            if (audioSource == null)
            {
                return;
            }

            audioSource.PlayOneShot(clip.Clip, clip.VolumeModifier * additionalModifier);
        }