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; }
public void ReproducirMusicaZonaActual(MusicaID musicaDeLaZonaDeLaQueHaSalido) { if (musicaDeLaZonaDeLaQueHaSalido != proximaMusica) { musicaActual = proximaMusica; IniciarCorrutinaMusica(musicaActual); } }
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); } }
public void AsignarProximaMusicaDeZona(MusicaID musicaID) { proximaMusica = musicaID; if (musicaActual == MusicaID.NINGUNO) { musicaActual = musicaID; IniciarCorrutinaMusica(musicaActual); } }
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; }