From 7d11c4375456190c7890768a0d6ac89545f9df65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1rk=C3=B6zi=20Gergely=20J=C3=A1nos?= <cycss7@inf.elte.hu> Date: Tue, 3 May 2022 23:23:38 +0200 Subject: [PATCH] add damage property to UnitDamagedEvent --- Assets/Scripts/Logic/Data/World/Unit.cs | 9 +++++++-- .../Scripts/Logic/Event/World/Unit/UnitDamagedEvent.cs | 5 +++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Assets/Scripts/Logic/Data/World/Unit.cs b/Assets/Scripts/Logic/Data/World/Unit.cs index 3dfee45..9237940 100644 --- a/Assets/Scripts/Logic/Data/World/Unit.cs +++ b/Assets/Scripts/Logic/Data/World/Unit.cs @@ -102,8 +102,13 @@ public class Unit { } internal void InflictDamage(Tower attacker, float damage) { - CurrentHealth = Math.Max(CurrentHealth - damage, 0); - World.Overview.Events.Raise(new UnitDamagedEvent(this, attacker)); + if (damage >= CurrentHealth) { + damage = CurrentHealth; + CurrentHealth = 0; + } else { + CurrentHealth -= damage; + } + World.Overview.Events.Raise(new UnitDamagedEvent(this, damage, attacker)); } internal void DestroyWithoutDamage() { diff --git a/Assets/Scripts/Logic/Event/World/Unit/UnitDamagedEvent.cs b/Assets/Scripts/Logic/Event/World/Unit/UnitDamagedEvent.cs index bcc0ac4..34a20be 100644 --- a/Assets/Scripts/Logic/Event/World/Unit/UnitDamagedEvent.cs +++ b/Assets/Scripts/Logic/Event/World/Unit/UnitDamagedEvent.cs @@ -8,11 +8,12 @@ namespace Logic.Event.World.Unit { public class UnitDamagedEvent : BaseEvent, IUnitEvent { public IUnitTypeData Type => Unit.Type; public Data.World.Unit Unit { get; } - + public float Damage { get; } public Data.World.Tower Attacker { get; } - public UnitDamagedEvent(Data.World.Unit unit, Data.World.Tower attacker) { + public UnitDamagedEvent(Data.World.Unit unit, float damage, Data.World.Tower attacker) { Unit = unit; + Damage = damage; Attacker = attacker; } } -- GitLab