#pragma once
#include "raycaster.hpp"

struct CameraLOL {
  double t = 0.0;
  double move_speed = 0.1;
  double rot_speed = 0.06;
  double target_x = 0.0;
  double target_y = 0.0;
  double target_dir_x = 0.0;
  double target_dir_y = 0.0;
  double target_plane_x = 0.0;
  double target_plane_y = 0.0;

  Point plan_move(Raycaster &rayview, int dir, bool strafe);
  void plan_rotate(Raycaster &rayview, int dir);

  bool play_rotate(Raycaster &rayview);
  bool play_move(Raycaster &rayview);

  void abort_plan(Raycaster& rayview);
};