#pragma once #include "entt/entity/entity.hpp" #include "SelectionContent.h" #include "SelectionContentFactory.h" class ShipStatsPanel; // The card for one selected ship (REQ-UI-SHIP-STATS-PANEL): its live hull stats and the // summaries of the capability modules it carries, computed from what is actually // installed (REQ-MOD-STAT-CALC). Applies to player and enemy ships alike // (REQ-UI-ENTITY-CLICK-SELECT). class ShipContent : public SelectionContent { Q_OBJECT public: ShipContent(const SelectionContext& context, const SelectionRequest& request, QWidget* parent = nullptr); protected: void refreshRuntime() override; private: entt::entity m_entity; ShipStatsPanel* m_statsPanel; };