diff options
Diffstat (limited to 'sim/src/TeamManager.cpp')
-rw-r--r-- | sim/src/TeamManager.cpp | 14 |
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 = [®istry](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{}); } |