diff options
author | Aki <please@ignore.pl> | 2023-01-08 00:48:38 +0100 |
---|---|---|
committer | Aki <please@ignore.pl> | 2023-01-08 00:48:38 +0100 |
commit | 6398565e9ce51f86c02ac4db821ffe181452037f (patch) | |
tree | e1dc613e041cb0453e6b4aca7c973ab9fd02a516 /sim | |
parent | dc95f5f0a2fa48379dd1dc3729fda4d4333c64d1 (diff) | |
download | kurator-6398565e9ce51f86c02ac4db821ffe181452037f.zip kurator-6398565e9ce51f86c02ac4db821ffe181452037f.tar.gz kurator-6398565e9ce51f86c02ac4db821ffe181452037f.tar.bz2 |
Extracted alive state check from battle to hitpoints to hide it away
Diffstat (limited to 'sim')
-rw-r--r-- | sim/include/kurator/sim/HitPoints.h | 1 | ||||
-rw-r--r-- | sim/src/BaseBattle.cpp | 2 | ||||
-rw-r--r-- | sim/src/HitPoints.cpp | 7 |
3 files changed, 9 insertions, 1 deletions
diff --git a/sim/include/kurator/sim/HitPoints.h b/sim/include/kurator/sim/HitPoints.h index feda050..8930e3a 100644 --- a/sim/include/kurator/sim/HitPoints.h +++ b/sim/include/kurator/sim/HitPoints.h @@ -11,6 +11,7 @@ struct HitPoints { double health; void deal(double damage); + bool is_alive() const; }; diff --git a/sim/src/BaseBattle.cpp b/sim/src/BaseBattle.cpp index 224c16c..f195181 100644 --- a/sim/src/BaseBattle.cpp +++ b/sim/src/BaseBattle.cpp @@ -103,7 +103,7 @@ BaseBattle::kill_off_dead() { auto view = _registry.view<HitPoints>(); for (auto&& [entity, points] : view.each()) { - if (points.health > 0.0) + if (points.is_alive()) continue; if (_registry.all_of<universe::UniqueIdentifier, Team>(entity)) { const auto& [identifier, team] = _registry.get<universe::UniqueIdentifier, Team>(entity); diff --git a/sim/src/HitPoints.cpp b/sim/src/HitPoints.cpp index 4f2ff81..da980f1 100644 --- a/sim/src/HitPoints.cpp +++ b/sim/src/HitPoints.cpp @@ -14,5 +14,12 @@ HitPoints::deal(double damage) } +bool +HitPoints::is_alive() const +{ + return health > 0.0; +} + + } // namespace sim } // namespace kurator |