#pragma once
#include <Screen.h>
#include <Camera3D.h>
#include <KeyboardEvent.h>
#include <Vec3.h>
#include <Timer.h>

class PlayerKam : public Framework::Cam3D
{
private:
    bool kameraControll;
    int entityId;
    Framework::Vec3<float> lastDirection;
    int movementFlags;
    int lastMovementFlags;

public:
    PlayerKam(Framework::Screen3D* zScreen);
    void setDirection(Framework::Vec3<float> direction);
    void doKeyboardEvent(Framework::KeyboardEvent& te) override;
    void doMouseEvent(Framework::MouseEvent& me) override;
    bool tick(double time) override;
    void setEntityId(int id);
    void setControlEnabled(bool enabled);
    int getEntityId() const;
    Framework::Vec3<float> getDirection() const;
};