diff options
author | Aki <please@ignore.pl> | 2022-12-24 01:56:28 +0100 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-12-24 01:56:28 +0100 |
commit | e732f10d32f96837f5787ab946bdbe6ba6bf6f2a (patch) | |
tree | 672ca21f5b4a419a9f290dfb212728e9cf1e57ca /sim/src/TeamManager.cpp | |
parent | 84e0e1e45f908f93d0a6a60632e0ff177addfb77 (diff) | |
download | kurator-e732f10d32f96837f5787ab946bdbe6ba6bf6f2a.zip kurator-e732f10d32f96837f5787ab946bdbe6ba6bf6f2a.tar.gz kurator-e732f10d32f96837f5787ab946bdbe6ba6bf6f2a.tar.bz2 |
Added end event to mark end of a battle
Diffstat (limited to 'sim/src/TeamManager.cpp')
-rw-r--r-- | sim/src/TeamManager.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sim/src/TeamManager.cpp b/sim/src/TeamManager.cpp index b792297..d26ed67 100644 --- a/sim/src/TeamManager.cpp +++ b/sim/src/TeamManager.cpp @@ -6,6 +6,9 @@ #include <utility> #include <entt/entity/registry.hpp> +#include <entt/signal/dispatcher.hpp> + +#include <kurator/sim/events.h> namespace kurator @@ -64,5 +67,14 @@ TeamManager::clear(entt::registry& registry) } +void +TeamManager::update(entt::dispatcher& dispatcher) +{ + const auto left = std::count_if(teams.begin(), teams.end(), [](const Team& team){ return team.size() > 0; }); + if (left < 2) + dispatcher.trigger(End{}); +} + + } // namespace sim } // namespace kurator |