Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
526e4f69a4 | ||
|
|
f901fa50ff | ||
|
|
bea9eeac16 | ||
|
|
3055da5316 |
@@ -16,7 +16,7 @@ endif()
|
||||
# Project configuration
|
||||
#
|
||||
|
||||
project(entt VERSION 2.0.0)
|
||||
project(entt VERSION 2.0.1)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE Debug)
|
||||
|
||||
@@ -37,7 +37,7 @@ struct Velocity {
|
||||
};
|
||||
|
||||
void update(entt::DefaultRegistry ®istry) {
|
||||
auto view = ecs.view<Position, Velocity>();
|
||||
auto view = registry.view<Position, Velocity>();
|
||||
|
||||
for(auto entity: view) {
|
||||
auto &position = view.get<Position>(entity);
|
||||
|
||||
@@ -285,8 +285,9 @@ public:
|
||||
|
||||
const auto entt = entity & traits_type::entity_mask;
|
||||
const auto version = 1 + ((entity >> traits_type::version_shift) & traits_type::version_mask);
|
||||
entities[entt] = entt | (version << traits_type::version_shift);
|
||||
available.push_back(entity);
|
||||
const auto next = entt | (version << traits_type::version_shift);
|
||||
entities[entt] = next;
|
||||
available.push_back(next);
|
||||
|
||||
for(auto &&cpool: pools) {
|
||||
if(cpool && cpool->has(entity)) {
|
||||
|
||||
@@ -42,7 +42,6 @@ TEST(DefaultRegistry, Construct) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, Destroy) {
|
||||
@@ -86,7 +85,6 @@ TEST(DefaultRegistry, IterateCreateDeleteSingleComponent) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateSingleComponent10M) {
|
||||
@@ -108,7 +106,6 @@ TEST(DefaultRegistry, IterateSingleComponent10M) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTwoComponents10M) {
|
||||
@@ -132,7 +129,6 @@ TEST(DefaultRegistry, IterateTwoComponents10M) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTwoComponents10MHalf) {
|
||||
@@ -157,7 +153,6 @@ TEST(DefaultRegistry, IterateTwoComponents10MHalf) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTwoComponents10MOne) {
|
||||
@@ -182,7 +177,6 @@ TEST(DefaultRegistry, IterateTwoComponents10MOne) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTwoComponentsPersistent10M) {
|
||||
@@ -207,7 +201,6 @@ TEST(DefaultRegistry, IterateTwoComponentsPersistent10M) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTwoComponentsPersistent10MHalf) {
|
||||
@@ -233,7 +226,6 @@ TEST(DefaultRegistry, IterateTwoComponentsPersistent10MHalf) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTwoComponentsPersistent10MOne) {
|
||||
@@ -259,11 +251,10 @@ TEST(DefaultRegistry, IterateTwoComponentsPersistent10MOne) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateSingleComponent50M) {
|
||||
entt::DefaultRegistry registry;
|
||||
entt::Registry<std::uint64_t> registry;
|
||||
|
||||
std::cout << "Iterating over 50000000 entities, one component" << std::endl;
|
||||
|
||||
@@ -281,11 +272,10 @@ TEST(DefaultRegistry, IterateSingleComponent50M) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTwoComponents50M) {
|
||||
entt::DefaultRegistry registry;
|
||||
entt::Registry<std::uint64_t> registry;
|
||||
|
||||
std::cout << "Iterating over 50000000 entities, two components" << std::endl;
|
||||
|
||||
@@ -305,11 +295,10 @@ TEST(DefaultRegistry, IterateTwoComponents50M) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTwoComponentsPersistent50M) {
|
||||
entt::DefaultRegistry registry;
|
||||
entt::Registry<std::uint64_t> registry;
|
||||
registry.prepare<Position, Velocity>();
|
||||
|
||||
std::cout << "Iterating over 50000000 entities, two components, persistent view" << std::endl;
|
||||
@@ -330,7 +319,6 @@ TEST(DefaultRegistry, IterateTwoComponentsPersistent50M) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateFiveComponents10M) {
|
||||
@@ -360,7 +348,6 @@ TEST(DefaultRegistry, IterateFiveComponents10M) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTenComponents10M) {
|
||||
@@ -400,7 +387,6 @@ TEST(DefaultRegistry, IterateTenComponents10M) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTenComponents10MHalf) {
|
||||
@@ -441,7 +427,6 @@ TEST(DefaultRegistry, IterateTenComponents10MHalf) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTenComponents10MOne) {
|
||||
@@ -482,7 +467,6 @@ TEST(DefaultRegistry, IterateTenComponents10MOne) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateFiveComponentsPersistent10M) {
|
||||
@@ -513,7 +497,6 @@ TEST(DefaultRegistry, IterateFiveComponentsPersistent10M) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTenComponentsPersistent10M) {
|
||||
@@ -554,7 +537,6 @@ TEST(DefaultRegistry, IterateTenComponentsPersistent10M) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTenComponentsPersistent10MHalf) {
|
||||
@@ -596,7 +578,6 @@ TEST(DefaultRegistry, IterateTenComponentsPersistent10MHalf) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, IterateTenComponentsPersistent10MOne) {
|
||||
@@ -638,7 +619,6 @@ TEST(DefaultRegistry, IterateTenComponentsPersistent10MOne) {
|
||||
}
|
||||
|
||||
timer.elapsed();
|
||||
registry.reset();
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, SortSingle) {
|
||||
|
||||
@@ -121,6 +121,19 @@ TEST(DefaultRegistry, Functionalities) {
|
||||
ASSERT_TRUE(registry.empty<int>());
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, CreateDestroyEntities) {
|
||||
entt::DefaultRegistry registry;
|
||||
|
||||
auto pre = registry.create<double>();
|
||||
registry.destroy(pre);
|
||||
auto post = registry.create<double>();
|
||||
|
||||
ASSERT_FALSE(registry.valid(pre));
|
||||
ASSERT_TRUE(registry.valid(post));
|
||||
ASSERT_NE(registry.version(pre), registry.version(post));
|
||||
ASSERT_EQ(registry.current(pre), registry.current(post));
|
||||
}
|
||||
|
||||
TEST(DefaultRegistry, SortSingle) {
|
||||
entt::DefaultRegistry registry;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user