JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
SkinAssignments.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 <string_view>
9#include <vector>
10
13
18
19namespace hmi {
20
22struct SkinRow {
25 std::string typeLabel;
27 std::string asset;
30
31 [[nodiscard]] friend bool operator==(const SkinRow& lhs, const SkinRow& rhs) {
32 return lhs.type == rhs.type && lhs.typeLabel == rhs.typeLabel && lhs.asset == rhs.asset &&
33 lhs.mode == rhs.mode;
34 }
35};
36
39 std::string label;
40 std::vector<SkinRow> rows;
41};
42
62[[nodiscard]] std::vector<SkinSection> buildSkinRows(const SkinCatalog& catalog,
63 std::string_view setName);
64
74[[nodiscard]] std::vector<std::string> listSkinAssets(const std::filesystem::path& skinsDirectory);
75
88void applySkinAssignment(SkinCatalog& catalog, std::string_view setName, core::TileType type,
89 const std::string& asset, SkinMode mode);
90
91} // namespace hmi
Association type de tuile → asset et mode de rendu, groupée en jeux nommés (EX-EDIT-042,...
Types de tuiles d'une carte et utilitaires associés.
Catalogue des jeux de skins : (jeu, type de tuile) → { asset, mode }.
Definition SkinCatalog.h:100
TileType
Type d'une tuile de la grille d'une carte (EX-GP-001).
Definition TileType.h:32
Definition AudioEngine.cpp:15
void applySkinAssignment(SkinCatalog &catalog, std::string_view setName, core::TileType type, const std::string &asset, SkinMode mode)
Applique une assignation à un catalogue, ou la retire.
Definition SkinAssignments.cpp:87
std::vector< SkinSection > buildSkinRows(const SkinCatalog &catalog, std::string_view setName)
Construit les lignes du panneau pour un jeu de skins donné.
Definition SkinAssignments.cpp:44
SkinMode
Manière dont l'asset d'un type de tuile est découpé à l'affichage (EX-EDIT-025).
Definition SkinCatalog.h:32
@ Single
Image unique, utilisée telle quelle.
Definition SkinCatalog.h:35
std::vector< std::string > listSkinAssets(const std::filesystem::path &skinsDirectory)
Liste les fichiers de skins disponibles, par balayage d'un dossier.
Definition SkinAssignments.cpp:66
Une ligne du panneau : un type de tuile et l'apparence qui lui est assignée, s'il y en a une.
Definition SkinAssignments.h:22
friend bool operator==(const SkinRow &lhs, const SkinRow &rhs)
Definition SkinAssignments.h:31
SkinMode mode
Mode de découpage. N'a de sens que si asset est renseigné.
Definition SkinAssignments.h:29
std::string typeLabel
Libellé du type, repris de la taxonomie de la palette (hmi::tileTaxonomy).
Definition SkinAssignments.h:25
std::string asset
Fichier assigné, vide si le type n'est pas skinné (il s'affiche alors en damier).
Definition SkinAssignments.h:27
core::TileType type
Definition SkinAssignments.h:23
Un groupe de lignes, correspondant à une catégorie de la palette.
Definition SkinAssignments.h:38
std::vector< SkinRow > rows
Definition SkinAssignments.h:40
std::string label
Definition SkinAssignments.h:39