#pragma once

#include <SDL3/SDL.h>  // Para SDL_Event

// --- Clase Preload: escena mínima durante la carga incremental de recursos ---
//
// No avanza la carga — de eso se encarga Director::iterate() llamando a
// Resource::loadStep(budget_ms) antes de despachar la escena. Aquí solo se
// repinta la barra de progreso y, si Options::loading.wait_for_input está
// activo, se detecta la pulsación que transiciona a la siguiente sección.
class Preload {
   public:
    Preload() = default;
    ~Preload() = default;

    // --- Callbacks para el bucle SDL_MAIN_USE_CALLBACKS ---
    void iterate();                            // Repinta la barra de progreso
    void handleEvent(const SDL_Event& event);  // Detecta pulsación en modo wait_for_input
};
