#pragma once

#include <SDL3/SDL.h>

#include <string>  // Para string

/**
 * @brief Datos de una zona del juego
 *
 * Una zona agrupa un conjunto de habitaciones que comparten tileset y música.
 * Las habitaciones pueden hacer override individual de tile_set_file y/o music
 * en su propio yaml; los valores aquí son la fuente por defecto.
 *
 * Las zonas se cargan desde data/zones/zones.yaml por el ZoneManager.
 */
namespace Zone {

    struct Data {
        std::string name;           // Nombre único de la zona (ej. "neighborhood", "cave")
        std::string tile_set_file;  // Fichero de tileset por defecto (ej. "neighborhood.gif")
        std::string music;          // Pista de música por defecto (ej. "574070_KUVO_Farewell_to_school.ogg")
        Uint8 bg_color{0};          // Color de fondo por defecto (índice de paleta)
    };

}  // namespace Zone
