Пример #1
0
    private IEnumerator CambiarMusica(MusicaID nuevaMusica)
    {
        float velocidadTransicion = 0;
        float volumenActual       = audioMusica.volume;

        if (audioMusica.clip != null)
        {
            while (audioMusica.volume > 0.1f)
            {
                velocidadTransicion += Time.deltaTime * Ajustes.Instancia.velocidadDecrementoVolumenAntiguaMusica;
                audioMusica.volume   = Mathf.Lerp(volumenActual, 0, velocidadTransicion);
                yield return(null);
            }
        }

        audioMusica.volume = 0.1f;
        audioMusica.clip   = contenedorMusica[nuevaMusica].audio;
        audioMusica.Play();

        velocidadTransicion = 0;
        while (audioMusica.volume < contenedorMusica[nuevaMusica].volumen)
        {
            velocidadTransicion += Time.deltaTime * Ajustes.Instancia.velocidadIncrementoVolumenNuevaMusica;
            audioMusica.volume   = Mathf.Lerp(0.1f, contenedorMusica[nuevaMusica].volumen, velocidadTransicion);
            yield return(null);
        }

        audioMusica.volume = contenedorMusica[nuevaMusica].volumen;
    }
Пример #2
0
 public void ReproducirMusicaZonaActual(MusicaID musicaDeLaZonaDeLaQueHaSalido)
 {
     if (musicaDeLaZonaDeLaQueHaSalido != proximaMusica)
     {
         musicaActual = proximaMusica;
         IniciarCorrutinaMusica(musicaActual);
     }
 }
Пример #3
0
 private void ObtenerFicheroMusica(MusicaID musicaID)
 {
     if (!contenedorMusica.ContainsKey(musicaID))
     {
         string nombreFichero = vinculadorResources.ObtenerNombreFicheroMusica(musicaID);
         Musica nuevaMusica   = (Musica)Resources.Load(nombreFichero);
         contenedorMusica.Add(nuevaMusica.ID, nuevaMusica);
     }
 }
Пример #4
0
 public void AsignarProximaMusicaDeZona(MusicaID musicaID)
 {
     proximaMusica = musicaID;
     if (musicaActual == MusicaID.NINGUNO)
     {
         musicaActual = musicaID;
         IniciarCorrutinaMusica(musicaActual);
     }
 }
Пример #5
0
 public void IniciarCorrutinaMusica(MusicaID musicaID)
 {
     ObtenerFicheroMusica(musicaID);
     if (corrutinaMusica != null)
     {
         StopCoroutine(corrutinaMusica);
     }
     corrutinaMusica = CambiarMusica(musicaID);
     StartCoroutine(corrutinaMusica);
 }
 public string ObtenerNombreFicheroMusica(MusicaID musica)
 {
     for (int i = 0; i < listaMusica.Count; i++)
     {
         if (listaMusica[i].ID == musica)
         {
             return(listaMusica[i].nombreFichero);
         }
     }
     return(string.Empty);
 }
 public MusicaVinculada(MusicaID id, string nombreFichero)
 {
     this.ID            = id;
     this.nombreFichero = nombreFichero;
 }