From d7cc1a81513b91c2f79d6df3b67111d06686b743 Mon Sep 17 00:00:00 2001 From: SirLynix Date: Thu, 27 Jul 2023 15:09:51 +0200 Subject: [PATCH] Core/EnttWorld: Add GetAliveEntityCount method --- examples/Physics2DDemo/main.cpp | 2 +- examples/PhysicsDemo/main.cpp | 2 +- examples/PhysicsPlayground/main.cpp | 2 +- examples/Showcase/main.cpp | 2 +- include/Nazara/Core/EnttWorld.hpp | 1 + include/Nazara/Core/EnttWorld.inl | 5 +++++ 6 files changed, 10 insertions(+), 4 deletions(-) diff --git a/examples/Physics2DDemo/main.cpp b/examples/Physics2DDemo/main.cpp index b79ef9b77..988e67834 100644 --- a/examples/Physics2DDemo/main.cpp +++ b/examples/Physics2DDemo/main.cpp @@ -122,7 +122,7 @@ int main() if (secondClock.RestartIfOver(Nz::Time::Second())) { - window.SetTitle(windowTitle + " - " + Nz::NumberToString(fps) + " FPS" + " - " + Nz::NumberToString(world.GetRegistry().alive()) + " entities"); + window.SetTitle(windowTitle + " - " + Nz::NumberToString(fps) + " FPS" + " - " + Nz::NumberToString(world.GetAliveEntityCount()) + " entities"); fps = 0; } }); diff --git a/examples/PhysicsDemo/main.cpp b/examples/PhysicsDemo/main.cpp index 27876d184..8fa7e0231 100644 --- a/examples/PhysicsDemo/main.cpp +++ b/examples/PhysicsDemo/main.cpp @@ -311,7 +311,7 @@ int main() if (fpsClock.RestartIfOver(Nz::Time::Second())) { - window.SetTitle(windowTitle + " - " + Nz::NumberToString(fps) + " FPS" + " - " + Nz::NumberToString(world.GetRegistry().alive()) + " entities"); + window.SetTitle(windowTitle + " - " + Nz::NumberToString(fps) + " FPS" + " - " + Nz::NumberToString(world.GetAliveEntityCount()) + " entities"); fps = 0; } }); diff --git a/examples/PhysicsPlayground/main.cpp b/examples/PhysicsPlayground/main.cpp index 94c053721..01028ebd9 100644 --- a/examples/PhysicsPlayground/main.cpp +++ b/examples/PhysicsPlayground/main.cpp @@ -522,7 +522,7 @@ int main() fps++; if (fpsClock.RestartIfOver(Nz::Time::Second())) { - mainWindow.SetTitle("Physics playground - " + Nz::NumberToString(fps) + " FPS" + " - " + Nz::NumberToString(world.GetRegistry().alive()) + " entities"); + mainWindow.SetTitle("Physics playground - " + Nz::NumberToString(fps) + " FPS" + " - " + Nz::NumberToString(world.GetAliveEntityCount()) + " entities"); physSystem.Dump(); fps = 0; } diff --git a/examples/Showcase/main.cpp b/examples/Showcase/main.cpp index 076478d67..7c63f489e 100644 --- a/examples/Showcase/main.cpp +++ b/examples/Showcase/main.cpp @@ -555,7 +555,7 @@ int main() if (fpsClock.RestartIfOver(Nz::Time::Second())) { - mainWindow.SetTitle(windowTitle + " - " + Nz::NumberToString(fps) + " FPS" + " - " + Nz::NumberToString(world.GetRegistry().alive()) + " entities"); + mainWindow.SetTitle(windowTitle + " - " + Nz::NumberToString(fps) + " FPS" + " - " + Nz::NumberToString(world.GetAliveEntityCount()) + " entities"); fps = 0; } }); diff --git a/include/Nazara/Core/EnttWorld.hpp b/include/Nazara/Core/EnttWorld.hpp index 29afd0404..9385bd94d 100644 --- a/include/Nazara/Core/EnttWorld.hpp +++ b/include/Nazara/Core/EnttWorld.hpp @@ -26,6 +26,7 @@ namespace Nz entt::handle CreateEntity(); + inline std::size_t GetAliveEntityCount() const; entt::registry& GetRegistry(); const entt::registry& GetRegistry() const; template T& GetSystem() const; diff --git a/include/Nazara/Core/EnttWorld.inl b/include/Nazara/Core/EnttWorld.inl index d076bb214..8731095f6 100644 --- a/include/Nazara/Core/EnttWorld.inl +++ b/include/Nazara/Core/EnttWorld.inl @@ -22,6 +22,11 @@ namespace Nz return entt::handle(m_registry, m_registry.create()); } + inline std::size_t EnttWorld::GetAliveEntityCount() const + { + return m_registry.storage()->in_use(); + } + inline entt::registry& EnttWorld::GetRegistry() { return m_registry;