#pragma once
#include "Component.h"
#include <glm/glm.hpp>

class CameraComponent : public Component {
public:
    CameraComponent(Object* owner);

    std::string GetName() const override;
    void Save(YAML::Emitter& out) const override;
    void Load(const YAML::Node& node) override;

    

    float GetZoom() const { return zoom; }
    float GetAspect() const { return aspect; }
    float GetFOV() const { return fov; }
    bool IsPrimary() const { return primary; }


    void SetZoom(float z) { zoom = z; }
    void SetAspect(float a) { aspect = a; }
    void SetFOV(float f) { fov = f; }
    void SetPrimary(bool p) { primary = p; }


private:
    float zoom = 1.0f;
    float fov = 45.0f;
    float aspect = 1.77f;
    bool primary = true;

};


