private void TakeDamage(EventInfo eventInfo) { UnitDamageEventInfo damageInfo = (UnitDamageEventInfo)eventInfo; if (CanBeHurtBy.Contains(damageInfo.DamagerName) && gameObject.name == damageInfo.UnitName) { health -= damageInfo.DamageAmount; DamagerName = damageInfo.DamagerName; } }
private void OnTriggerEnter2D(Collider2D collision) { UnitDamageEventInfo damageInfo = new UnitDamageEventInfo(); damageInfo.EventDescription = "Unit " + gameObject.name + " has been hit"; damageInfo.UnitName = collision.name; damageInfo.DamagerName = DamagerName; damageInfo.DamageAmount = DamageAmount; EventSystemManager.Instance.FireEvent(damageInfo); }