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(); } } } }
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(); } } } } }
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(); } }
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(); }