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

#ifndef VIEWPORT_H
#define VIEWPORT_H

#include <string>
#include "Core.h"

namespace OX
{
    class Viewport
    {
    public:
        explicit Viewport(std::string name = "Viewport")
            : m_name(std::move(name))
        {
            m_id = s_nextID++;
            Logger::LogVerbose("Editor::Viewport: %s", m_name.c_str());
        }

        void Draw(Core &core) const;

        [[nodiscard]] int GetID() const { return m_id; }
        [[nodiscard]] const std::string &GetName() const { return m_name; }

    private:
        int m_id;
        std::string m_name;

        static int s_nextID;
    };
};

#endif
