skins: SkinManager + hot-swap (F7), classic/nes a data/skins/

This commit is contained in:
2026-05-17 19:54:07 +02:00
parent a40931c7ca
commit ebfcad6f22
125 changed files with 962 additions and 76 deletions
+6 -3
View File
@@ -23,9 +23,10 @@ class Asset {
// Estructura para definir un item
struct Item {
std::string file; // Ruta del fichero desde la raiz del directorio
Type type; // Indica el tipo de recurso
bool required; // Indica si es un fichero que debe de existir
std::string file; // Ruta del fichero desde la raiz del directorio
Type type; // Indica el tipo de recurso
bool required; // Indica si es un fichero que debe de existir
std::string skin_basename; // No buit ⇒ item skin-aware (recomposable via SkinManager)
};
// Singleton API
@@ -34,6 +35,8 @@ class Asset {
static auto get() -> Asset *; // Obtiene el puntero a la instancia
void add(const std::string &file, Type type, bool required = true, bool absolute = false); // Añade un elemento a la lista
void addSkinAware(const std::string &basename, Type type, bool required = true); // Afegeix un asset gfx que viu sota la skin activa (recomposable)
void onSkinChanged(); // Recomposa el path dels items skin-aware amb la skin actual
auto get(const std::string &text) -> std::string; // Devuelve un elemento de la lista a partir de una cadena
[[nodiscard]] auto getAll() const -> const std::vector<Item> & { return file_list_; } // Devuelve toda la lista de items registrados
auto check() -> bool; // Comprueba que existen todos los elementos