package core.engine.entity;

import utils.vectors.Vector3f;

public class Camera {

    private Vector3f position = new Vector3f(0, 37,0);
    private float pitch = 90;
    private float yaw = 180;
    private float roll;

    public void moveLeft() {
        position.x += 0.5f;
    }

    public void moveForward() {
        position.z -= .5f;
    }

    public void moveBackward() {
        position.z += .5f;
    }

    public void moveRight() {
        position.x -= .5f;
    }

    public void zoomOut() {
        position.y += 0.5f;
    }

    public void zoomIn() {
        position.y -= 0.5f;
    }

    public void increasePitch() {
        this.pitch += .5f;
    }

    public void decreasePitch() {
        this.pitch -= .5f;
    }

    public void increaseYaw() {
        this.yaw += 0.5f;
    }

    public void decreaseYaw() {
        this.yaw -= 0.5f;
    }

    public Vector3f getPosition() {
        return position;
    }

    public float getPitch() {
        return pitch;
    }

    public float getYaw() {
        return yaw;
    }

    public float getRoll() {
        return roll;
    }

    public void setPitch(float pitch) {
        this.pitch += pitch;
    }

    public void setYaw(float yaw) {
        this.yaw += yaw;
    }

    public void setRoll(float roll) {
        this.roll += roll;
    }
}
