/** * ModuleTests for Msg * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace CentralEffectSimulation { class CesTestsMineAreas : public QObject { Q_OBJECT public: explicit CesTestsMineAreas(QObject *parent = nullptr); ~CesTestsMineAreas(); bool init(int domainId, int exerciseId, int testId); bool testsSuccessful() const { return m_bTestsSuccessful; } public Q_SLOTS: void startTest(); void onEventChanged(const CentralEffectSimulation::ParticipantEvent &eventData, DataModification modType); protected Q_SLOTS: // //////////////////////// // Participants // //////////////////////// void tryCreateParticipantPosition(); void tryCreateParticipant(); void tryCreateDynamicParticipantData(); void tryCreateTypeVehicle(); void tryCreateTypeSoldier(); void tryCreateAesItemViewMineArea(); void tryCreateChargeType(); void failExit(); void ExitSuccess(); protected: private: // methods void checkParticipantEvent(); private: // structs struct Participant { int participantId; int participantTypeId; int equipmentNumber; int partyId; int buildingId; int roomId; int relX; int relY; }; private: Core::FunctionReplyObject fillFro(int participantId, bool bSuccess) const; private: std::shared_ptr m_ddsConnector; std::shared_ptr m_ddsConnector42; std::shared_ptr m_aesDts; std::shared_ptr m_pdmDts; std::shared_ptr m_ppmDts; std::shared_ptr m_cesDtc; std::shared_ptr m_cesFtc; bool m_bTestsSuccessful; LtsCoordTrans::UtmCoordinate m_refPos; NGL::INGLLogger &m_logger; int m_testId; int m_participantIndex; int m_id; int m_equipmentNumber; int m_DynamicParticipantIndex; int m_aesItemId; QVector m_participants; AreaEffectSimulation::AesType m_aesType; QPointF m_explosionSingle; int m_chargeTypeId; int m_countEventMineAreas; }; } // namespace CentralEffectSimulation