#pragma once

#include "entt/entity/entity.hpp"

#include "SelectionContent.h"
#include "SelectionContentFactory.h"

class BarRow;
class StatRow;

// The card for one selected defence station, player or enemy
// (REQ-UI-STATION-STATS-PANEL): its HP plus the combined damage, range and fire rate of
// the weapon modules mounted on it.
class StationContent : public SelectionContent
{
    Q_OBJECT

public:
    StationContent(const SelectionContext& context, const SelectionRequest& request,
                   QWidget* parent = nullptr);

protected:
    void refreshRuntime() override;

private:
    entt::entity m_entity;
    BarRow*      m_hpBar;
    StatRow*     m_damageRow;
    StatRow*     m_rangeRow;
    StatRow*     m_fireRateRow;
};
