#pragma once
#include "enity.hpp"
//! корабли/самолёты - летающие разрушаемые объекты
class Ship: public Enity {
public:
  Ship() = default;
  ~Ship() = default;
  Ship& operator =(CN(Ship)) = default;
  uint hp = 0; ///< жизни
  expl_t expl = 0; ///< функция взрыва
  void kill() override {
    if (expl) // возорваться после смерти
      expl(this);
    Enity::kill();
  }
  void clear() override { *this = {}; }
protected:
  void sub_hp(uint val) override {
    if (val >= hp) {
      kill();
      hp = 0;
      return;
    }
    hp -= val;
  }
}; // Ship