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