public struct DamageData { public float oldHealth; public float newHealth; public float damageAmount; } public delegate void DamageEventHandler(DamageData damageData); public interface IDamageable { public event DamageEventHandler OnDamageTaken; void Damage(float damageAmount); }