44 [[nodiscard]]
bool ok()
const {
50[[nodiscard]] AssetFamilyTable
loadAssetFamilies(
const std::filesystem::path& familiesFile);
76[[nodiscard]] std::optional<AssetKey>
parseAssetKey(std::string_view key);
88[[nodiscard]] std::string
defaultAssetKeyFor(std::string_view family, std::string_view
id);
113[[nodiscard]] std::vector<ExpectedAssetKey>
expectedAssetKeys(
const std::filesystem::path& rpgDir,
115 std::vector<std::string>& errors);
Espace de noms du moteur et de la logique de jeu.
Definition Bootstrap.h:9
std::string defaultAssetKeyFor(std::string_view family, std::string_view id)
La clé par défaut d'une entrée : famille/identifiant.
Definition AssetKey.cpp:72
AssetFamilyTable loadAssetFamilies(const std::filesystem::path &familiesFile)
Charge la table des familles depuis Assets/Entities/families.json.
Definition AssetKey.cpp:79
std::optional< AssetKey > parseAssetKey(std::string_view key)
Décompose key. std::nullopt si elle est malformée — jamais devinée.
Definition AssetKey.cpp:63
std::vector< ExpectedAssetKey > expectedAssetKeys(const std::filesystem::path &rpgDir, const AssetFamilyTable &families, std::vector< std::string > &errors)
Énumère les clés qu'attendent les catalogues de rpgDir, selon families.
Definition AssetKey.cpp:136
bool isValidAssetKey(std::string_view key)
Vrai si key respecte la syntaxe d'une clé d'asset.
Definition AssetKey.cpp:50
Une famille d'assets d'entité : ce qu'elle illustre, et le contrat de dimensions.
Definition AssetKey.h:28
int height
Definition AssetKey.h:33
std::string name
Premier segment de la clé : beast, item, species…
Definition AssetKey.h:30
std::vector< std::string > catalogues
Les dossiers de catalogue dont chaque entrée attend une illustration de cette famille.
Definition AssetKey.h:35
int width
Dimensions attendues du fichier image, en pixels.
Definition AssetKey.h:32
La table des familles, et ce qui n'a pas pu être lu.
Definition AssetKey.h:39
bool ok() const
Definition AssetKey.h:44
std::vector< std::string > errors
Definition AssetKey.h:41
std::vector< AssetFamilyDefinition > families
Definition AssetKey.h:40
const AssetFamilyDefinition * find(std::string_view name) const
Definition AssetKey.cpp:45
Une clé d'asset décomposée : sa famille, et ce qu'elle désigne dedans.
Definition AssetKey.h:55
std::string id
Definition AssetKey.h:57
friend bool operator==(const AssetKey &, const AssetKey &) noexcept=default
std::string family
Definition AssetKey.h:56
Une clé attendue par le manifeste : ce qu'elle illustre, et d'où elle vient.
Definition AssetKey.h:91
std::string sourceFile
Le fichier de catalogue qui l'attend — de quoi remonter à la donnée sans la chercher.
Definition AssetKey.h:95
std::string key
Definition AssetKey.h:92
std::string family
Definition AssetKey.h:93
bool explicitKey
Vrai si la donnée a dérogé en écrivant son propre asset.
Definition AssetKey.h:97