From 4edd25ff5d017e87f0f8a9dd07b333276957f5b8 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Tue, 27 Nov 2018 22:13:19 +0100 Subject: [PATCH] review: registry --- src/entt/entity/registry.hpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/entt/entity/registry.hpp b/src/entt/entity/registry.hpp index bd3a12d2a..85720aaae 100644 --- a/src/entt/entity/registry.hpp +++ b/src/entt/entity/registry.hpp @@ -81,9 +81,9 @@ class registry { registry *reg; }; - template + template static void creating(registry ®, const Entity entity) { - if((reg.*Has)(entity)) { + if((reg.pool().has(entity) && ...)) { auto *handler = static_cast *>(reg.handlers[handler_family::type].get()); handler->construct(entity, reg.pools[component_family::type]->get(entity)...); } @@ -121,16 +121,10 @@ class registry { return const_cast> &>(std::as_const(*this).template pool()); } - template - void connect(std::index_sequence) { - pool().construction().template connect<®istry::creating<®istry::has>...>, Component...>>(); - pool().destruction().template connect<®istry::destroying>(); - } - template void connect(std::index_sequence) { - (assure(), ...); - (connect(std::make_index_sequence{}), ...); + (pool().construction().template connect<®istry::creating>(), ...); + (pool().destruction().template connect<®istry::destroying>(), ...); } template