#pragma once

#include "UI/base/GuiWindow.h"
#include "UI/ElementDrawer.hpp"

namespace TSE::EDITOR
{
    class PropertiesView : public GuiWindow
    {
    private:
        inline static Inspectable currentlyInspecting = {};
        bool debugMode = false;
        inline static bool locked = false;

    public:
        PropertiesView();

        void Define() override;
        void MenuBar();
        static InspectableType GetCurrentInspectableType();
        static void SetInspectorElement(InspectableType type, void* element);
        static void ClearInspectorElement();
        static void ForceClearInspectorElement();
    };
} // namespace TSE::EDITOR
