Prefijos
La API de Sounds Good sigue una convención semántica clara para que leas el código casi como si fuera una frase:
Prefijo
Significado
Devuelve
Encadenable
Set
Configura o asigna un valor antes/durante la reproducción.
La misma instancia (this).
✔️
On
Declara un callback que se ejecuta en un evento del ciclo de vida.
La misma instancia (this).
✔️
Métodos sin prefijo (Play, Pause, Stop, Resume)
Acción inmediata sobre el audio.
void
❌
🛠️ Prefijo Set
SetTodas las funciones que empiezan con Set almacenan parámetros en el objeto y lo devuelven para que puedas continuar la cadena:
new Sound(SFX.Explosion)
.SetVolume(0.55f)
.SetRandomPitch() // variación para evitar repetición
.SetSpatialSound(true) // 3D
.SetFadeOut(0.8f) // desvanecer al terminar
.Play();💡 Crea primero, setea después, play al final.
🔔 Prefijo On
OnLos métodos On… te permiten suscribirte a eventos sin corutinas ni invoke repetitivos:
var loopingMusic = new Music(Track.ForestAmbience)
.SetLoop(true)
.OnPlay(() => Debug.Log("Ambient started"))
.OnPause(() => Debug.Log("Ambient paused"))
.OnResume(() => Debug.Log("Ambient resumed"))
.OnComplete(() => Debug.Log("Ambient stopped"));
loopingMusic.Play(); // dispara OnPlay
// Más tarde…
loopingMusic.Pause(); // dispara OnPause
loopingMusic.Resume(); // dispara OnResume
loopingMusic.Stop(); // dispara OnCompleteLast updated