El patrón Observer permite que varios objetos reaccionen a cambios de otro objeto.
En C#, los eventos son una forma natural de implementarlo.
PlayerHealth
↓
OnHealthChanged
↓
HUD
Audio
VFX
public event Action<int> OnHealthChanged;
health.OnHealthChanged += ActualizarBarra;
health.OnHealthChanged -= ActualizarBarra;
Desuscribirse correctamente evita referencias innecesarias y errores.
Subject
→ evento
→ Observers