JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
core::Entity Struct Reference

Handle générationnel identifiant une entité de l'ECS. More...

#include <Entity.h>

Public Types

using Index = std::uint32_t
 Type des index d'entité.
using Generation = std::uint32_t
 Type des générations.

Public Attributes

Index index = INVALID_INDEX
Generation generation = 0

Static Public Attributes

static constexpr Index INVALID_INDEX = ~Index{0}
 Valeur d'index réservée pour désigner l'entité invalide.

Friends

bool operator== (const Entity &lhs, const Entity &rhs)
bool operator!= (const Entity &lhs, const Entity &rhs)

Detailed Description

Handle générationnel identifiant une entité de l'ECS.

Une entité n'est qu'un identifiant : elle ne porte aucune donnée (les données vivent dans les composants). Le handle combine un index (position dans les tableaux internes) et une génération : quand un index est recyclé après destruction, sa génération est incrémentée, ce qui invalide les anciens handles pointant sur le même index (EX-ARCH-010). Type léger, copiable et comparable.

Member Typedef Documentation

◆ Generation

using core::Entity::Generation = std::uint32_t

Type des générations.

◆ Index

using core::Entity::Index = std::uint32_t

Type des index d'entité.

◆ operator!=

bool operator!= ( const Entity & lhs,
const Entity & rhs )
friend

◆ operator==

bool operator== ( const Entity & lhs,
const Entity & rhs )
friend
Returns
true si les deux handles désignent la même entité (index et génération).

Member Data Documentation

◆ generation

Generation core::Entity::generation = 0

◆ index

Index core::Entity::index = INVALID_INDEX

◆ INVALID_INDEX

Index core::Entity::INVALID_INDEX = ~Index{0}
staticconstexpr

Valeur d'index réservée pour désigner l'entité invalide.


The documentation for this struct was generated from the following file:
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/Core/Ecs/Entity.h