|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Catalogue des écrans du RPG et ossature de leur contenu (LOT-68, EX-IHM-090, EX-IHM-091). More...
#include <cstddef>#include <span>Go to the source code of this file.
Classes | |
| struct | hmi::RpgField |
| Une ligne « libellé → valeur » d'un bloc Fields. More... | |
| struct | hmi::RpgContentBlock |
| Un bloc de l'ossature d'un écran. More... | |
| struct | hmi::RpgScreenLayout |
| Ossature d'un écran : deux colonnes de blocs. More... | |
| struct | hmi::RpgScreenDescriptor |
| Comment un écran est rendu (LOT-38). More... | |
Namespaces | |
| namespace | hmi |
Enumerations | |
| enum class | hmi::RpgScreenId { hmi::CharacterSheet , hmi::Inventory , hmi::QuestJournal , hmi::WorldMap , hmi::Dialogue , hmi::Merchant , hmi::GuildBoard , hmi::CombatHud , hmi::TeamSheet } |
| Les huit écrans du RPG. More... | |
| enum class | hmi::RpgSuperposition { hmi::PausesGame , hmi::WhileWalking } |
| Règle de superposition d'un écran (EX-IHM-091) : ce qui met le jeu en pause et ce qui se consulte en marchant. More... | |
| enum class | hmi::RpgBlockKind { hmi::Fields , hmi::Grid , hmi::List , hmi::Prose , hmi::Portrait , hmi::Track , hmi::ActionBar } |
| Genres de blocs que le châssis sait peindre. More... | |
Functions | |
| std::span< const RpgScreenDescriptor > | hmi::rpgScreens () noexcept |
| const RpgScreenDescriptor & | hmi::rpgScreenDescriptor (RpgScreenId screen) noexcept |
| RpgScreenId | hmi::nextRpgScreen (RpgScreenId screen) noexcept |
| RpgScreenId | hmi::previousRpgScreen (RpgScreenId screen) noexcept |
| bool | hmi::pausesGame (RpgScreenId screen) noexcept |
Variables | |
| constexpr std::size_t | hmi::RPG_SCREEN_COUNT = 9 |
| Nombre d'écrans du catalogue. | |
Catalogue des écrans du RPG et ossature de leur contenu (LOT-68, EX-IHM-090, EX-IHM-091).
Logique pure (aucune dépendance Qt), testable hors instance d'application (EX-NFR-010) – même patron que HMI/Presentation/ScreenFlow.h et HMI/Interface/ActionCatalog.h.
Les huit écrans que le RPG doit à terme porter – fiche, inventaire, journal, carte, dialogue, marchand, tableau de la Guilde, ATH de combat – n'ont, à ce lot, aucun contenu à afficher : les données viendront des lots qui les remplissent (LOT-38, LOT-42, LOT-45, LOT-24). Ce qui est livré ici est ce qu'ils ont en commun : leur cadre, leur navigation, leur parcours de focus, et leur ossature.
Cette ossature est décrite en données plutôt qu'en code d'interface, pour la raison qu'écrit EX-IHM-090 : un neuvième écran doit coûter une ligne de table, jamais une retouche des huit autres. Le rendu Qt (hmi::RpgScreenFrame) sait peindre les sept genres de blocs ci-dessous et rien de plus ; il n'a aucune connaissance d'un écran en particulier.