using Godot; using System; using Movementtests.interfaces; [GlobalClass] public partial class CDamageable : Node, IDamageable { public event Action DamageTaken; [Export] public RDamageModifier[] DamageModifiers { get; set; } public float TakeDamage(RDamage damage) { var finalDamage = 0f; foreach (var damageable in DamageModifiers.ToIDamageables()) finalDamage += damageable.TakeDamage(damage); DamageTaken?.Invoke(this, finalDamage); return finalDamage; } }