//
// Created by spenc on 5/18/2025.
//

#ifndef EDITOR_H
#define EDITOR_H
#define OX_EDITOR_VERSION "Obsidian Editor (0.2.6)"
#include "Layer.h"
#include "Core.h"
#include "types/all.h"


namespace OX
{
    class Viewport;
    class FileBrowser;

    class Editor final : public Layer
    {
    public:
        using Layer::Layer;

        void Init(Core &core) override;

        void Update(Core &core) override;

        void Draw(Core &core) override;

        void Shutdown(Core &core) override;

    private:
        std::shared_ptr<Viewport> primaryViewport;
        std::shared_ptr<FileBrowser> fileBrowser;
    };
} // OX

#endif //EDITOR_H
