Exemplo n.º 1
0
    //not for use
    private IEnumerator IFadeOut(EnumAudioId audioId, float duration)
    {
        AudioFile s = Array.Find(instance.audioFiles, AudioFile => AudioFile.audioID == audioId);

        if (s == null)
        {
            Debug.LogError("Sound name" + name + "not found!");
            yield return(null);
        }
        else
        {
            if (fadeOut == false)
            {
                fadeOut = true;
                float startVol = s.source.volume;
                fadeOutUsedString = name;
                while (s.source.volume > 0)
                {
                    s.source.volume -= startVol * Time.deltaTime / duration;
                    yield return(null);
                }

                s.source.Stop();
                yield return(new WaitForSeconds(duration));

                fadeOut = false;
            }

            else
            {
                Debug.Log("Could not handle two fade outs at once : " + name + " , " + fadeOutUsedString + "! Stopped the music " + name);
                StopMusic(audioId);
            }
        }
    }
Exemplo n.º 2
0
    public IEnumerator IFadeIn(EnumAudioId audioId, float targetVolume, float duration)
    {
        AudioFile s = Array.Find(instance.audioFiles, AudioFile => AudioFile.audioID == audioId);

        if (s == null)
        {
            Debug.LogError("Sound name" + name + "not found!");
            yield return(null);
        }
        else
        {
            if (fadeIn == false)
            {
                fadeIn = true;
                instance.fadeInUsedString = name;
                s.source.volume           = 0f;
                s.source.Play();
                while (s.source.volume < targetVolume)
                {
                    s.source.volume += Time.deltaTime / duration;
                    yield return(null);
                }

                yield return(new WaitForSeconds(duration));

                fadeIn = false;
            }
            else
            {
                Debug.Log("Could not handle two fade ins at once: " + name + " , " + fadeInUsedString + "! Played the music " + name);
                StopMusic(audioId);
                PlayMusic(audioId);
            }
        }
    }
Exemplo n.º 3
0
 public static void FadeIn(EnumAudioId audioId, float targetVolume, float duration)
 {
     if (playMusic)
     {
         instance.StartCoroutine(instance.IFadeIn(audioId, targetVolume, duration));
     }
 }
Exemplo n.º 4
0
    public static void UnPauseMusic(EnumAudioId audioId)
    {
        AudioFile s = Array.Find(instance.audioFiles, AudioFile => AudioFile.audioID == audioId);

        if (s == null)
        {
            Debug.LogError("Sound name" + audioId + "not found!");
            return;
        }
        else
        {
            s.source.UnPause();
        }
    }
    public static void PlayMusic(EnumAudioId audioId)
    {
        AudioFile s = Array.Find(instance.audioFiles, AudioFile => AudioFile.audioID == audioId);

        if (s == null)
        {
            Debug.LogError("Sound name" + audioId + "not found!");
            return;
        }
        else
        {
            if (s.source.isPlaying)
            {
                Debug.LogWarning($"Requested Audio File {audioId} is already Playing");
            }
            else
            {
                s.source.Play();
            }
        }
    }
Exemplo n.º 6
0
    public static void LowerVolume(EnumAudioId audioId, float _duration)
    {
        if (instance.isLowered == false)
        {
            AudioFile s = Array.Find(instance.audioFiles, AudioFile => AudioFile.audioID == audioId);
            if (s == null)
            {
                Debug.LogError("Sound name" + audioId + "not found!");
                return;
            }
            else
            {
                instance.tmpName     = audioId;
                instance.tmpVol      = s.volume;
                instance.timeToReset = Time.time + _duration;
                instance.timerIsSet  = true;
                s.source.volume      = s.source.volume / 3;
            }

            instance.isLowered = true;
        }
    }
Exemplo n.º 7
0
 public static void FadeOut(EnumAudioId audioId, float duration)
 {
     instance.StartCoroutine(instance.IFadeOut(audioId, duration));
 }