//
// Created by sebastian on 09.02.26.
//

#ifndef UILAYER_H
#define UILAYER_H
#include <memory>

#include "../engine/core/gui/text/Font.h"
#include "../engine/core/gui/uiMain/UiContainer.h"
#include "../engine/layer/Layer.h"
#include "../engine/renderer/GUIRenderer.h"
#include "../engine/renderer/TextRenderer.h"


class UILayer : public Layer{
private:
    std::unique_ptr<GUIRenderer> guiRenderer;
    std::unique_ptr<TextRenderer> textRenderer;
    std::unique_ptr<Font> font;
    std::unique_ptr<UiContainer> rootContainer;
public:
    UILayer();
    void onAttach() override;
    void onUpdate() override;
    void onDetach() override;
};



#endif //UILAYER_H
