#ifndef PRELOADER_DISPLAY_HPP_
#define PRELOADER_DISPLAY_HPP_

#include <functional>
#include <vector>
#include <atomic>
#include <Display/Display.hpp>

/**
 * @brief The preloader display, responsible for loading game info.
 */
class PreloaderDisplay : public Display
{
private:
    std::vector<std::function<void(std::atomic<unsigned int> &)>> tasks;
    std::atomic<unsigned int> tasksDone;
    bool tasksStarted;

public:
    PreloaderDisplay();

    virtual void draw(GraphicsContext &context);
    virtual void update();
};

#endif