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

Marque une entité comme acteur de jeu de rôle et la relie à sa fiche. More...

#include <RpgActor.h>

Public Member Functions

bool hasSheet () const
 Vrai si l'entité est reliée à une fiche.

Public Attributes

std::size_t sheetIndex = INDICE_ABSENT
 Indice de la fiche dans le registre du monde.

Static Public Attributes

static constexpr std::size_t INDICE_ABSENT = static_cast<std::size_t>(-1)
 Valeur d'un indice qui ne désigne aucune fiche.

Detailed Description

Marque une entité comme acteur de jeu de rôle et la relie à sa fiche.

Donnée pure sans logique (EX-ARCH-011). Le composant ne porte pas la fiche : il porte son indice dans le registre du monde. Deux raisons, et la seconde est celle qui compte.

D'abord la taille : une CharacterSheet porte des chaînes et deux ensembles, et la recopier dans chaque composant ferait grossir le tableau que l'ECS parcourt à chaque image pour des données qu'un système de déplacement ne lit jamais.

Ensuite, et surtout : une fiche n'appartient pas à une entité. Un personnage du groupe garde la sienne quand il change de carte et que son entité est détruite puis recréée (LOT-09) ; une fiche survit à l'entité qui la représente. Loger la fiche dans le composant lierait la vie de l'une à celle de l'autre, et le passage au groupe de quatre (LOT-29) obligerait à défaire ce lien.

INDICE_ABSENT distingue une entité sans fiche — un décor animé, un projectile — d'une entité dont la fiche serait la première du registre. Les confondre ferait attaquer un tonneau avec les caractéristiques du héros.

Member Function Documentation

◆ hasSheet()

bool core::RpgActor::hasSheet ( ) const
inlinenodiscard

Vrai si l'entité est reliée à une fiche.

Member Data Documentation

◆ INDICE_ABSENT

std::size_t core::RpgActor::INDICE_ABSENT = static_cast<std::size_t>(-1)
staticconstexpr

Valeur d'un indice qui ne désigne aucune fiche.

◆ sheetIndex

std::size_t core::RpgActor::sheetIndex = INDICE_ABSENT

Indice de la fiche dans le registre du monde.


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