//
// Created by sebastian on 02.08.26.
//

#ifndef COLORRACE_CAMERACONTROLLER_H
#define COLORRACE_CAMERACONTROLLER_H
#include "core/inputsOutputs/context/InputContextStack.h"
#include "core/inputsOutputs/inputs/Keyboard.h"


namespace engine {
    class Camera;

    class CameraController {
    public:
        CameraController(InputContextStack& stack, std::shared_ptr<InputContext> gameContext) : m_stack(stack), m_gameContext(std::move(gameContext)) {}
        void update(const Keyboard& keyboard, Camera& camera, float deltaTime);
    private:
        InputContextStack& m_stack;
        std::shared_ptr<InputContext> m_gameContext;
    };
}


#endif //COLORRACE_CAMERACONTROLLER_H
