#pragma once

#include "UI/ViewportController.hpp"
#include "UI/windows/CameraView.hpp"
#include "UI/windows/ConsolView.hpp"
#include "UI/windows/DebugView.hpp"
#include "UI/windows/HirearchieView.hpp"
#include "UI/windows/PropertiesView.hpp"
#include "UI/windows/SceneView.hpp"
#include "interfaces/IRenderTexture.hpp"

namespace TSE::EDITOR
{
    class EditorSubsystem
    {
    public:
        ViewportController controller;
        ConsolView cv;
        DebugView dv;
        HirearchieView hv = HirearchieView(nullptr);
        PropertiesView pv;
        CameraView camv;
        TSE::IRenderTexture* rt;
        SceneView sv;
        Layer editorLayer;

        EditorSubsystem();
    };
} // namespace TSE::EDITOR
