Added EntityExists and HasComponent
This commit is contained in:
@@ -69,8 +69,7 @@ public:
|
|||||||
template <Component component>
|
template <Component component>
|
||||||
[[nodiscard("Discarding an expensive operation's result!")]]
|
[[nodiscard("Discarding an expensive operation's result!")]]
|
||||||
bool HasComponent(const Entity &entity) {
|
bool HasComponent(const Entity &entity) {
|
||||||
// TO BE IMPLEMENTED
|
return entityComponentMap.query(entity, typeid(component)).size();
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template <Component component>
|
template <Component component>
|
||||||
|
|||||||
@@ -25,9 +25,18 @@ Entity World::CreateEntity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool World::EntityExists(const Entity &entity) noexcept {
|
bool World::EntityExists(const Entity &entity) noexcept {
|
||||||
// TO BE IMPLEMENTED
|
bool exists = false;
|
||||||
|
entityComponentMap.scan(
|
||||||
|
[&exists, entity](const Tourmaline::Type::UUID ¤tEntity,
|
||||||
|
const std::type_index &, std::any &) -> bool {
|
||||||
|
if (currentEntity == entity) {
|
||||||
|
exists = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
return exists;
|
||||||
|
}
|
||||||
|
|
||||||
bool World::DestroyEntity(Entity entity) {
|
bool World::DestroyEntity(Entity entity) {
|
||||||
return entityComponentMap.remove(entity, std::nullopt);
|
return entityComponentMap.remove(entity, std::nullopt);
|
||||||
|
|||||||
Reference in New Issue
Block a user