|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Une entité de carte — ce qui n'est pas une tuile. More...
#include <MapEntity.h>
Public Attributes | |
| std::string | type |
| Type de l'entité, libre : "npc", "chest", "sign", "portal", "encounter"… | |
| GridPosition | position |
| Case occupée par l'entité. | |
| PropertyMap | properties |
| Propriétés libres (core::PropertyMap), y compris les clés que le chargeur n'a pas reconnues — elles sont réémises telles quelles à l'écriture. | |
Une entité de carte — ce qui n'est pas une tuile.
La grille ne porte qu'un core::TileType par case, sans métadonnée : un PNJ a un nom et un dialogue, un coffre un contenu et un état « déjà ouvert », un portail une carte cible et un point d'arrivée. Le jeu de plateforme d'origine contournait cette limite avec des vecteurs annexes indexés par position, un par famille — le LOT-01 en a retiré quatre, tous devenus caducs en même temps que leur type de tuile. Une liste d'objets à propriétés évite de reconstruire ce schéma une famille à la fois.
Core ne connaît aucune sémantique de type : c'est une chaîne, interprétée par le gameplay (LOT-10 et suivants). Le chargeur ne valide donc pas qu'un type existe — une entité inconnue est une erreur de conception tolérée, pas une carte invalide (EX-NFR-040).
| GridPosition core::MapEntity::position |
Case occupée par l'entité.
| PropertyMap core::MapEntity::properties |
Propriétés libres (core::PropertyMap), y compris les clés que le chargeur n'a pas reconnues — elles sont réémises telles quelles à l'écriture.
| std::string core::MapEntity::type |
Type de l'entité, libre : "npc", "chest", "sign", "portal", "encounter"…