Преглед на файлове

registry: make ::valid backward compatible

Michele Caini преди 2 години
родител
ревизия
da56665b03
променени са 3 файла, в които са добавени 4 реда и са изтрити 4 реда
  1. 1 1
      src/entt/entity/registry.hpp
  2. 2 2
      test/entt/entity/registry.cpp
  3. 1 1
      test/entt/entity/snapshot.cpp

+ 1 - 1
src/entt/entity/registry.hpp

@@ -527,7 +527,7 @@ public:
      * @return True if the identifier is valid, false otherwise.
      */
     [[nodiscard]] bool valid(const entity_type entt) const {
-        return entities.contains(entt);
+        return entities.contains(entt) && (entities.index(entt) < entities.in_use());
     }
 
     /**

+ 2 - 2
test/entt/entity/registry.cpp

@@ -576,8 +576,8 @@ TEST(Registry, CreateWithHint) {
     auto e2 = registry.create(entt::entity{3});
 
     ASSERT_EQ(e2, entt::entity{1});
-    ASSERT_TRUE(registry.valid(entt::entity{0}));
-    ASSERT_TRUE(registry.valid(entt::entity{2}));
+    ASSERT_FALSE(registry.valid(entt::entity{0}));
+    ASSERT_FALSE(registry.valid(entt::entity{2}));
     ASSERT_EQ(e3, entt::entity{3});
 
     registry.release(e2);

+ 1 - 1
test/entt/entity/snapshot.cpp

@@ -270,7 +270,7 @@ TEST(BasicSnapshotLoader, GetEntityType) {
 
     ASSERT_TRUE(registry.valid(entities[0u]));
     ASSERT_TRUE(registry.valid(entities[1u]));
-    ASSERT_TRUE(registry.valid(entities[2u]));
+    ASSERT_FALSE(registry.valid(entities[2u]));
 
     ASSERT_EQ(storage.size(), 3u);
     ASSERT_EQ(storage.in_use(), 2u);