ok so this should be the way to go
This commit is contained in:
@@ -5,18 +5,18 @@ using Movementtests.interfaces;
|
||||
[GlobalClass]
|
||||
public partial class CDamageable : Node, IDamageable
|
||||
{
|
||||
[Signal]
|
||||
public delegate void DamageTakenEventHandler(float damageTaken);
|
||||
public event Action<IDamageable, float> 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);
|
||||
EmitSignalDamageTaken(finalDamage);
|
||||
DamageTaken?.Invoke(this, finalDamage);
|
||||
return finalDamage;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user