Opérations sur les fichiers de niveaux d'un dossier, sans dépendance Qt/GPU.
More...
#include <LevelFileOperations.h>
|
| | LevelFileOperations (std::filesystem::path levelsDir) |
| std::vector< std::filesystem::path > | list () const |
| FileOperationResult | create (const std::string &name, int width, int height) const |
| | Crée un niveau minimal valide (grille vide + entrée/sortie) nommé name.
|
| FileOperationResult | rename (const std::filesystem::path &source, const std::string &newName) const |
| | Renomme le niveau source en newName (met à jour le nom interne).
|
| FileOperationResult | duplicate (const std::filesystem::path &source) const |
| | Duplique le niveau source sous un nom unique (« … (copie) », « … (copie 2) », …).
|
|
| std::filesystem::path | pathForName (const std::string &name) const |
| | Chemin du fichier .json correspondant à un nom de niveau, dans le dossier géré.
|
|
| std::filesystem::path | _dir |
Opérations sur les fichiers de niveaux d'un dossier, sans dépendance Qt/GPU.
Logique pure et testable (EX-NFR-010, EX-IHM-021) : réutilise hmi::isValidLevelName (validation de nom, EX-EDIT-009), core::LevelLoader/LevelWriter (format) et core::LevelDraft (aucune règle de niveau dupliquée, EX-EDIT-010). Chaque opération renvoie un FileOperationResult — jamais d'exception vers l'appelant (EX-NFR-040).
◆ LevelFileOperations()
| hmi::LevelFileOperations::LevelFileOperations |
( |
std::filesystem::path | levelsDir | ) |
|
|
explicit |
◆ create()
| FileOperationResult hmi::LevelFileOperations::create |
( |
const std::string & | name, |
|
|
int | width, |
|
|
int | height ) const |
|
nodiscard |
Crée un niveau minimal valide (grille vide + entrée/sortie) nommé name.
◆ duplicate()
| FileOperationResult hmi::LevelFileOperations::duplicate |
( |
const std::filesystem::path & | source | ) |
const |
|
nodiscard |
Duplique le niveau source sous un nom unique (« … (copie) », « … (copie 2) », …).
◆ list()
| std::vector< std::filesystem::path > hmi::LevelFileOperations::list |
( |
| ) |
const |
|
nodiscard |
- Returns
- Les fichiers .json du dossier, triés par nom (vide si le dossier n'existe pas).
◆ pathForName()
| std::filesystem::path hmi::LevelFileOperations::pathForName |
( |
const std::string & | name | ) |
const |
|
nodiscardprivate |
Chemin du fichier .json correspondant à un nom de niveau, dans le dossier géré.
◆ remove()
Supprime le fichier de niveau source.
◆ rename()
| FileOperationResult hmi::LevelFileOperations::rename |
( |
const std::filesystem::path & | source, |
|
|
const std::string & | newName ) const |
|
nodiscard |
Renomme le niveau source en newName (met à jour le nom interne).
◆ _dir
| std::filesystem::path hmi::LevelFileOperations::_dir |
|
private |
The documentation for this class was generated from the following files: