#pragma once
class Ship_info;
//! настроеки самолёта
class Fighter_info: public Ship_info {
public:
  Fighter_info() = default;
  virtual ~Fighter_info() = default;
  float missile_delay = 0; ///< задержка перед выпуском новой ракеты
  float vulkan_delay = 0; ///< задержка выстрелов из пулемёта
  float shoot_dist = 0; ///< дистанция начала стрельбы из пулемёта
  float bullet_speed = 0;
  float missile_speed = 0;
  float missile_accel_rot = 0;
  float min_spd = 0;
  float max_spd = 0;
  float rot_accel = 0;
  float accel = 0; ///< ускорение самолёта
  float reverse = 0; ///< торможение самолёта
  float resist = 0; ///< торможение самолёта
  #ifdef DEBUG
  a83::Str dbg_info() const override {
    using namespace a83;
    return Ship_info::dbg_info()
      + "    missile_delay: " + n2s(missile_delay, 2) + '\n'
      + "    vulkan_delay: " + n2s(vulkan_delay, 2) + '\n'
      + "    shoot_dist: " + n2s(shoot_dist, 2) + '\n'
      + "    bullet_speed: " + n2s(bullet_speed, 2) + '\n'
      + "    missile_speed: " + n2s(missile_speed, 2) + '\n'
      + "    missile_accel_rot: " + n2s(missile_accel_rot, 2) + '\n'
      + "    min_spd: " + n2s(min_spd, 2) + '\n'
      + "    max_spd: " + n2s(max_spd, 2) + '\n'
      + "    rot_accel: " + n2s(rot_accel, 2) + '\n'
      + "    accel: " + n2s(accel, 2) + '\n'
      + "    resist: " + n2s(resist, 2) + '\n';
  }
  #endif
};