예제 #1
0
    public void detener(string nombre)
    {
        sonido s = Array.Find(sonidos, sonido => sonido.nombre == nombre);

        if (s == null)
        {
            return;
        }
        else
        {
            if (s.esmusica())
            {
                if (estadomusica)
                {
                    if (s.fadeout)
                    {
                        volumen_aux = s.reset_vol();
                        StartCoroutine(fadeSoundOut(s));
                    }
                    else
                    {
                        s.source.Stop();
                    }
                }
            }
            else
            {
                if (estadosonido)
                {
                    s.source.Stop();
                }
            }
        }
    }
예제 #2
0
 public void reproducir(string nombre)
 {
     if (estadomusica)
     {
         sonido s = Array.Find(sonidos, sonido => sonido.nombre == nombre);
         if (s == null)
         {
             return;
         }
         else
         {
             if (s.esmusica())
             {
                 if (estadomusica)
                 {
                     if (s.fadein)
                     {
                         volumen_aux = s.reset_vol();
                         s.source.Play();
                         s.source.volume = 0;
                         StartCoroutine(fadeSoundIn(s));
                     }
                     else
                     {
                         s.source.Play();
                     }
                 }
             }
         }
     }
     if (estadosonido)
     {
         sonido s = Array.Find(sonidos, sonido => sonido.nombre == nombre);
         if (s == null)
         {
             return;
         }
         else
         {
             if (!s.esmusica())
             {
                 if (s.fadein)
                 {
                     volumen_aux = s.reset_vol();
                     s.source.Play();
                     s.source.volume = 0;
                     StartCoroutine(fadeSoundIn(s));
                 }
                 else
                 {
                     s.source.Play();
                 }
             }
         }
     }
 }
예제 #3
0
 IEnumerator fadeSoundIn(sonido aux)
 {
     if (aux.fadein)
     {
         while (aux.source.volume < volumen_aux)
         {
             aux.source.volume += Time.deltaTime / aux.fade_vel;
             yield return(null);
         }
         aux.reset_vol();
     }
 }
예제 #4
0
 IEnumerator fadeSoundOut(sonido aux)
 {
     if (aux.fadeout)
     {
         while (aux.source.volume > 0.01f)
         {
             aux.source.volume -= Time.deltaTime / aux.fade_vel;
             yield return(null);
         }
     }
     aux.source.volume = volumen_aux;
     aux.source.Stop();
 }