Damage source and effect fix

This commit is contained in:
Фёдор Веселов 2024-10-06 19:55:42 +05:00
commit c89d93cf24
15 changed files with 52 additions and 34 deletions

View file

@ -18,18 +18,18 @@ public partial class RuntimePlantData : Node2D, IEntity
public PlantResource Resource;
[Signal]
public delegate void OnHPChangedEventHandler(int amount);
public delegate void OnHPChangedEventHandler(int amount,Node origin);
public override void _Ready()
{
_hp = _maxHP;
}
public void Heal(int amount)
public void Heal(int amount,Node origin)
{
_hp += amount;
EmitSignal(SignalName.OnHPChanged,amount);
EmitSignal(SignalName.OnHPChanged,amount,origin);
if (MaxHp > 0)
{
@ -37,11 +37,11 @@ public partial class RuntimePlantData : Node2D, IEntity
}
}
public void TakeDamage(int amount)
public void TakeDamage(int amount,Node origin, Utility.DamageTypes damageType = Utility.DamageTypes.PHYSICAL)
{
_hp -= amount;
EmitSignal(SignalName.OnHPChanged,-amount);
EmitSignal(SignalName.OnHPChanged,-amount, origin);
if (_hp <= 0)
{