summaryrefslogtreecommitdiff
path: root/sim/src/TeamManager.cpp
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-12-24 01:56:28 +0100
committerAki <please@ignore.pl>2022-12-24 01:56:28 +0100
commite732f10d32f96837f5787ab946bdbe6ba6bf6f2a (patch)
tree672ca21f5b4a419a9f290dfb212728e9cf1e57ca /sim/src/TeamManager.cpp
parent84e0e1e45f908f93d0a6a60632e0ff177addfb77 (diff)
downloadkurator-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.cpp12
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