#ifndef INCLUDEACE_H #define INCLUDEACE_H #include #include #include #include #include "abstractfactory.h" class Unit; class Race : public QObject { Q_OBJECT public: explicit Race(QString race_name, QObject *parent = nullptr); std::shared_ptr createUnit(QString unit_name); const std::vector &getAvailableUnitsList(); const std::vector> &getAllUnitsList(); QString getRaceId(); QString getRaceName(); QImage getRaceIcon(); QString getRaceDescr(); private: QString race_id_; QString race_name_; QImage race_icon_; QString race_descr_; ObjectFactory units_factory_; std::vector available_units_list_; std::vector> all_units_list_; signals: public slots: }; #endif // INCLUDEACE_H