JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
hmi::LevelFileOperations Class Reference

Opérations sur les fichiers de niveaux d'un dossier, sans dépendance Qt/GPU. More...

#include <LevelFileOperations.h>

Public Member Functions

 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) », …).

Static Public Member Functions

static FileOperationResult remove (const std::filesystem::path &source)
 Supprime le fichier de niveau source.

Private Member Functions

std::filesystem::path pathForName (const std::string &name) const
 Chemin du fichier .json correspondant à un nom de niveau, dans le dossier géré.

Private Attributes

std::filesystem::path _dir

Detailed Description

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).

Constructor & Destructor Documentation

◆ LevelFileOperations()

hmi::LevelFileOperations::LevelFileOperations ( std::filesystem::path levelsDir)
explicit

Member Function Documentation

◆ 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()

FileOperationResult hmi::LevelFileOperations::remove ( const std::filesystem::path & source)
staticnodiscard

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).

Member Data Documentation

◆ _dir

std::filesystem::path hmi::LevelFileOperations::_dir
private

The documentation for this class was generated from the following files: