|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Association action de jeu -> touche, avec persistance JSON (EX-CTRL-012, LOT-29). More...
#include <GameKeyBindings.h>
Public Member Functions | |
| GameKeyBindings () | |
| Construit avec les valeurs par défaut (flèches/Espace/Maj/E, cf. PlayerInputMapper.cpp). | |
| Key | key (GameAction action) const noexcept |
| void | setKey (GameAction action, Key newKey) noexcept |
Lie action à newKey. | |
| void | resetToDefaults () noexcept |
| Restaure les sept actions à leurs touches par défaut (defaultKey). | |
| bool | save (const std::filesystem::path &path) const |
Sauvegarde dans la section "jeu" de path, en préservant une section "editeur" déjà présente (écrite par EditorKeyBindings::save). | |
Static Public Member Functions | |
| static Key | defaultKey (GameAction action) noexcept |
| static GameKeyBindings | load (const std::filesystem::path &path) |
Charge la section "jeu" de path. | |
Private Attributes | |
| std::array< Key, GAME_ACTION_COUNT > | _keys {} |
Association action de jeu -> touche, avec persistance JSON (EX-CTRL-012, LOT-29).
Une touche par action ; setKey échange automatiquement avec toute autre action qui détenait déjà cette touche, pour ne jamais laisser deux actions du jeu sur la même touche. load/save partagent un seul fichier avec EditorKeyBindings (section "jeu", l'autre classe possédant sa propre section "editeur" du même fichier, sans interférence) : chaque sauvegarde relit puis fusionne, plutôt que d'écraser tout le fichier.
| hmi::GameKeyBindings::GameKeyBindings | ( | ) |
Construit avec les valeurs par défaut (flèches/Espace/Maj/E, cf. PlayerInputMapper.cpp).
|
staticnodiscardnoexcept |
action, indépendante de l'état courant.
|
nodiscardnoexcept |
action.
|
staticnodiscard |
Charge la section "jeu" de path.
|
noexcept |
Restaure les sept actions à leurs touches par défaut (defaultKey).
| bool hmi::GameKeyBindings::save | ( | const std::filesystem::path & | path | ) | const |
Sauvegarde dans la section "jeu" de path, en préservant une section "editeur" déjà présente (écrite par EditorKeyBindings::save).
|
noexcept |
Lie action à newKey.
Si newKey était déjà liée à une autre action de ce jeu de bindings, les deux échangent leurs touches (jamais deux actions sur la même touche à l'issue de l'appel).
|
private |