From 6201183572566af33bc9a7f533b2d0d6b3b07149 Mon Sep 17 00:00:00 2001 From: Lynix Date: Thu, 19 Feb 2015 23:51:17 +0100 Subject: [PATCH] (World) Replaced pointers to Entity by EntityHandle Former-commit-id: b29aaaa7362c0c816dc270e15ba5f8253717c457 --- SDK/include/NDK/World.hpp | 6 +++--- SDK/include/NDK/World.inl | 4 ++-- SDK/src/NDK/Entity.cpp | 2 +- SDK/src/NDK/World.cpp | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/SDK/include/NDK/World.hpp b/SDK/include/NDK/World.hpp index 1dfed7602..0f67eb7ef 100644 --- a/SDK/include/NDK/World.hpp +++ b/SDK/include/NDK/World.hpp @@ -30,12 +30,12 @@ namespace Ndk void Clear(); - void KillEntity(Entity* entity); + void KillEntity(EntityHandle entity); void KillEntities(const EntityList& list); - Entity* GetEntity(Entity::Id id); + EntityHandle GetEntity(Entity::Id id); - bool IsEntityValid(Entity* entity) const; + bool IsEntityValid(EntityHandle entity) const; bool IsEntityIdValid(Entity::Id id) const; void Update(); diff --git a/SDK/include/NDK/World.inl b/SDK/include/NDK/World.inl index 0aa3e3aaf..fbffd2c40 100644 --- a/SDK/include/NDK/World.inl +++ b/SDK/include/NDK/World.inl @@ -22,9 +22,9 @@ namespace Ndk KillEntity(entity); } - inline bool World::IsEntityValid(Entity* entity) const + inline bool World::IsEntityValid(EntityHandle entity) const { - return entity != nullptr && entity->GetWorld() == this && IsEntityIdValid(entity->GetId()); + return entity.IsValid() && entity->GetWorld() == this && IsEntityIdValid(entity->GetId()); } inline bool World::IsEntityIdValid(Entity::Id id) const diff --git a/SDK/src/NDK/Entity.cpp b/SDK/src/NDK/Entity.cpp index 634d6d9ad..d407a7778 100644 --- a/SDK/src/NDK/Entity.cpp +++ b/SDK/src/NDK/Entity.cpp @@ -28,7 +28,7 @@ namespace Ndk void Entity::Kill() { - m_world->KillEntity(this); + m_world->KillEntity(CreateHandle()); } bool Entity::IsValid() const diff --git a/SDK/src/NDK/World.cpp b/SDK/src/NDK/World.cpp index 6e7244ef4..a9b5e2695 100644 --- a/SDK/src/NDK/World.cpp +++ b/SDK/src/NDK/World.cpp @@ -50,7 +50,7 @@ namespace Ndk m_killedEntities.clear(); } - void World::KillEntity(Entity* entity) + void World::KillEntity(EntityHandle entity) { ///DOC: Ignoré si l'entité est invalide @@ -58,14 +58,14 @@ namespace Ndk m_killedEntities.emplace_back(entity); } - Entity* World::GetEntity(Entity::Id id) + EntityHandle World::GetEntity(Entity::Id id) { if (IsEntityIdValid(id)) - return &m_entities[id]; + return m_entities[id].CreateHandle(); else { NazaraError("Invalid ID"); - return nullptr; + return EntityHandle(); } }