Une entité est l'élément "atomique" utilisé dans l'architecture ECS pour référencer les composants.
More...
#include <entity.hpp>
|
| Entity (EntityID id=-1, Registry *registry=nullptr) |
| Construit une nouvelle entité
|
EntityID | GetID () const |
| Retourne l'identifiant EntityID de cette.
|
bool | IsValid () const |
| Renvoie true si l'entité est valide, false sinon.
|
std::string | ToString () const |
| Renvoie une chaine de caractères qui représente cette entité
|
Registry & | GetRegistry () const |
| Renvoie le registre parent de cet entité
|
void | AddTag (std::string tag) |
| Ajoute un tag à l'entité actuelle.
|
bool | HasTag (std::string tag) |
| Check si l'entité possède un tag.
|
template<typename T, typename... Args> |
T & | AddComponent (Args &&... args) |
| Ajoute un component de type T au registre, référencé sous l'entityID de cette entité
|
template<typename T> |
void | RemoveComponent () |
| Supprime le composant de type T référencé par l'EntityID de cette entité
|
template<typename T> |
T & | GetComponent () |
| Retourne le premier composant de type T associé à cette entité
|
template<typename T> |
std::vector< T * > | GetComponents () |
| Retourne le tableau de composants de type T associé à cette entité
|
template<typename T> |
bool | HasComponent () |
| Vérifie si l'entité possède le component demandé
|
void | AddChild (EntityID childID) |
| Ajoute l'identifiant donné comme "enfant".
|
void | SetParent (EntityID parentID) |
| Ajoute l'identifiant donné comme "parent".
|
void | RemoveChild (EntityID childID) |
| Supprime le lien avec l'entité enfant donnée.
|
void | RemoveParent () |
| Supprime le lien reliant cette entité à son parent.
|
Une entité est l'élément "atomique" utilisé dans l'architecture ECS pour référencer les composants.
◆ Entity()
Construit une nouvelle entité
- Parameters
-
◆ AddChild()
void Engine::ECS::Entity::AddChild |
( |
EntityID | childID | ) |
|
Ajoute l'identifiant donné comme "enfant".
- Parameters
-
◆ AddComponent()
template<typename T, typename... Args>
T & Engine::ECS::Entity::AddComponent |
( |
Args &&... | args | ) |
|
|
inline |
Ajoute un component de type T au registre, référencé sous l'entityID de cette entité
Cette méthode est un wrapper autour de registry->AddComponent<T>(EntityID)
- Template Parameters
-
T | Le type du composant à ajouter |
Args | |
- Parameters
-
args | Les arguments de constructions du component |
- Returns
- T& Une référence vers le composant créé
◆ AddTag()
void Engine::ECS::Entity::AddTag |
( |
std::string | tag | ) |
|
Ajoute un tag à l'entité actuelle.
Cette méthode est un wrapper sur Registry->AddTag(EntityID, std::string)
- Parameters
-
◆ GetComponent()
template<typename T>
T & Engine::ECS::Entity::GetComponent |
( |
| ) |
|
|
inline |
Retourne le premier composant de type T associé à cette entité
Wrapper autour de registry->GetComponent(id)
- Template Parameters
-
- Returns
- T& Une référence au composant demandé
◆ GetComponents()
template<typename T>
std::vector< T * > Engine::ECS::Entity::GetComponents |
( |
| ) |
|
|
inline |
Retourne le tableau de composants de type T associé à cette entité
Wrapper autour de registry->GetComponents(id)
- Template Parameters
-
- Returns
- std::vector<T*> Un tableau de pointeurs vers les composants demandés
◆ GetID()
EntityID Engine::ECS::Entity::GetID |
( |
| ) |
const |
◆ GetRegistry()
Registry & Engine::ECS::Entity::GetRegistry |
( |
| ) |
const |
Renvoie le registre parent de cet entité
- Returns
- Registry&
◆ HasComponent()
template<typename T>
bool Engine::ECS::Entity::HasComponent |
( |
| ) |
|
|
inline |
Vérifie si l'entité possède le component demandé
- Template Parameters
-
- Returns
- bool
◆ HasTag()
bool Engine::ECS::Entity::HasTag |
( |
std::string | tag | ) |
|
Check si l'entité possède un tag.
Cette méthode est un wrapper autour de Registry->HasTag(EntityID, std::string)
- Parameters
-
- Returns
- true Si l'entité possède le tag
-
false Si l'entité ne possède pas le tag
◆ IsValid()
bool Engine::ECS::Entity::IsValid |
( |
| ) |
const |
Renvoie true si l'entité est valide, false sinon.
Les critères sont :
- mID > 0
- mRegistry != nullptr
- mRegistry->IsValidEntity(mID) == true
- Returns
- true
-
false
◆ RemoveChild()
void Engine::ECS::Entity::RemoveChild |
( |
EntityID | childID | ) |
|
Supprime le lien avec l'entité enfant donnée.
- Parameters
-
◆ RemoveComponent()
template<typename T>
void Engine::ECS::Entity::RemoveComponent |
( |
| ) |
|
|
inline |
Supprime le composant de type T référencé par l'EntityID de cette entité
Wrapper autour de registry->RemoveComponent(id)
- Template Parameters
-
◆ RemoveParent()
void Engine::ECS::Entity::RemoveParent |
( |
| ) |
|
Supprime le lien reliant cette entité à son parent.
◆ SetParent()
void Engine::ECS::Entity::SetParent |
( |
EntityID | parentID | ) |
|
Ajoute l'identifiant donné comme "parent".
- Parameters
-
◆ ToString()
std::string Engine::ECS::Entity::ToString |
( |
| ) |
const |
Renvoie une chaine de caractères qui représente cette entité
- Returns
- std::string
The documentation for this class was generated from the following files: