|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Association action d'éditeur -> touche, avec persistance JSON (EX-CTRL-012, LOT-29). More...
#include <EditorKeyBindings.h>
Public Member Functions | |
| EditorKeyBindings () | |
| Construit avec les valeurs par défaut (S/Z/Y/C/V/P/F10/F1/F2/T, cf. | |
| Key | key (EditorAction action) const noexcept |
| void | setKey (EditorAction action, Key newKey) noexcept |
Lie action à newKey. | |
| void | resetToDefaults () noexcept |
| Restaure les neuf actions à leurs touches par défaut (defaultKey). | |
| bool | save (const std::filesystem::path &path) const |
Sauvegarde dans la section "editeur" de path, en préservant une section "jeu" déjà présente (écrite par GameKeyBindings::save). | |
Static Public Member Functions | |
| static Key | defaultKey (EditorAction action) noexcept |
| static EditorKeyBindings | load (const std::filesystem::path &path) |
Charge la section "editeur" de path. | |
Private Attributes | |
| std::array< Key, EDITOR_ACTION_COUNT > | _keys {} |
Association action d'éditeur -> touche, avec persistance JSON (EX-CTRL-012, LOT-29).
Même mécanique que GameKeyBindings (échange sur conflit, section "editeur" du même fichier keybindings.json, fusionnée plutôt qu'écrasée à chaque sauvegarde) — classe séparée plutôt qu'une abstraction commune : deux cas concrets connus, pas de troisième anticipé.
| hmi::EditorKeyBindings::EditorKeyBindings | ( | ) |
Construit avec les valeurs par défaut (S/Z/Y/C/V/P/F10/F1/F2/T, cf.
l'éditeur hmi::GameViewport).
|
staticnodiscardnoexcept |
action, indépendante de l'état courant.
|
nodiscardnoexcept |
action.
|
staticnodiscard |
Charge la section "editeur" de path.
|
noexcept |
Restaure les neuf actions à leurs touches par défaut (defaultKey).
| bool hmi::EditorKeyBindings::save | ( | const std::filesystem::path & | path | ) | const |
Sauvegarde dans la section "editeur" de path, en préservant une section "jeu" déjà présente (écrite par GameKeyBindings::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 |