#pragma once
#include "raycaster.hpp"

struct CameraLOL {
  double t = 0.0;
  double moveSpeed = 0.1;
  double rotSpeed = 0.1;
  double targetX = 0.0;
  double targetY = 0.0;
  int targetDir = 0;
  double targetDirX = 0.0;
  double targetDirY = 0.0;
  double targetPlaneX = 0.0;
  double targetPlaneY = 0.0;

  void plan_run(Raycaster &rayview, int dir);
  bool play_run(Raycaster &rayview);
  void plan_rotate(Raycaster &rayview, int dir);
  bool play_rotate(Raycaster &rayview);

  void plan_strafe(Raycaster &rayview, int dir);
  bool play_strafe(Raycaster &rayview);
};
