Files
MovementTests/scenes/damage/CDamageable.cs
Minimata 561e026834
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 20s
Create tag and build when new code gets to main / Export (push) Successful in 10m24s
ok so this should be the way to go
2026-01-17 21:51:57 +01:00

23 lines
556 B
C#

using Godot;
using System;
using Movementtests.interfaces;
[GlobalClass]
public partial class CDamageable : Node, IDamageable
{
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);
DamageTaken?.Invoke(this, finalDamage);
return finalDamage;
}
}