JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
LevelFileOperations.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Valentin Eloy
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
6#include <filesystem>
7#include <string>
8#include <vector>
9
11
17
18namespace hmi {
19
29public:
30 explicit LevelFileOperations(std::filesystem::path levelsDir);
31
33 [[nodiscard]] std::vector<std::filesystem::path> list() const;
34
36 [[nodiscard]] FileOperationResult create(const std::string& name, int width, int height) const;
37
39 [[nodiscard]] FileOperationResult rename(const std::filesystem::path& source,
40 const std::string& newName) const;
41
43 [[nodiscard]] FileOperationResult duplicate(const std::filesystem::path& source) const;
44
46 [[nodiscard]] static FileOperationResult remove(const std::filesystem::path& source);
47
48private:
50 [[nodiscard]] std::filesystem::path pathForName(const std::string& name) const;
51
52 std::filesystem::path _dir;
53};
54
55} // namespace hmi
Résultat d'une opération de fichier de l'éditeur, partagé par les niveaux (LevelFileOperations) et le...
std::vector< std::filesystem::path > list() const
Definition LevelFileOperations.cpp:49
static FileOperationResult remove(const std::filesystem::path &source)
Supprime le fichier de niveau source.
Definition LevelFileOperations.cpp:136
FileOperationResult duplicate(const std::filesystem::path &source) const
Duplique le niveau source sous un nom unique (« … (copie) », « … (copie 2) », …).
Definition LevelFileOperations.cpp:122
FileOperationResult rename(const std::filesystem::path &source, const std::string &newName) const
Renomme le niveau source en newName (met à jour le nom interne).
Definition LevelFileOperations.cpp:101
FileOperationResult create(const std::string &name, int width, int height) const
Crée un niveau minimal valide (grille vide + entrée/sortie) nommé name.
Definition LevelFileOperations.cpp:73
std::filesystem::path _dir
Definition LevelFileOperations.h:52
std::filesystem::path pathForName(const std::string &name) const
Chemin du fichier .json correspondant à un nom de niveau, dans le dossier géré.
Definition LevelFileOperations.cpp:45
LevelFileOperations(std::filesystem::path levelsDir)
Definition LevelFileOperations.cpp:42
Definition AudioEngine.cpp:15
Succès (avec le chemin résultant) ou échec (avec un message lisible).
Definition FileOperationResult.h:29