summaryrefslogtreecommitdiff
path: root/sim/src/TeamManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sim/src/TeamManager.cpp')
-rw-r--r--sim/src/TeamManager.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/sim/src/TeamManager.cpp b/sim/src/TeamManager.cpp
index d26ed67..0325c0c 100644
--- a/sim/src/TeamManager.cpp
+++ b/sim/src/TeamManager.cpp
@@ -6,8 +6,8 @@
#include <utility>
#include <entt/entity/registry.hpp>
-#include <entt/signal/dispatcher.hpp>
+#include <kurator/engine/Context.h>
#include <kurator/sim/events.h>
@@ -58,21 +58,15 @@ TeamManager::random(const int exclude)
void
-TeamManager::clear(entt::registry& registry)
+TeamManager::update(engine::Context& ctx)
{
for (auto& members : teams) {
- auto is_valid = [&registry](entt::entity entity){ return !registry.valid(entity); };
+ auto is_valid = [&](entt::entity entity){ return !ctx.registry.valid(entity); };
members.erase(std::remove_if(members.begin(), members.end(), is_valid), members.end());
}
-}
-
-
-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{});
+ ctx.dispatcher.trigger(End{});
}