/** * Exercise object * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include "dds_handler.h" #include "logger.h" #include // Generated #include namespace EffectShowManagement { class Initialization; class ObjectAesData : public QObject { Q_OBJECT public: explicit ObjectAesData(Initialization *mainHandler, QObject *parent = nullptr); Core::FunctionReplyObject createObject(const Database::EsmAesData &data); Core::FunctionReplyObject updateObject(const Database::EsmAesData &data); Core::FunctionReplyObject removeObject(); int getId() const { return m_data.idAes; } void setData(const Database::EsmAesData &data) { m_data = data; } /** * @brief Checks if the area related to the effect show has been changed. * @param data Area related to the effect show has been changed * @return (true)Data has been chanbed */ bool areaChanged(const Database::EsmAesData &data) const; /** * @brief Checks if only the data related to the effect show has been changed, but the area has not been changed. * @param data Current area simulation data extract * @return (true)The data related to the effect show has been changed */ bool dataChanged(const Database::EsmAesData &data) const; /** * @brief Checks if the area simulation has been paused. * @param data Current area simulation data extract * @return (true)Area simulation has been paused */ bool statusPaused(const Database::EsmAesData &data) const; /** * @brief Checks if the area simulatin has been restarted. * @param data Current area simulation data extract * @return (true)The Area simulation has been restarted. */ bool statusContinued(const Database::EsmAesData &data) const; /** * @brief Checks if the area simulatin has been ended. * @param data Current area simulation data extract * @return (true)The Area simulation has been ended. */ bool statusExpired(const Database::EsmAesData &data) const; /** * @brief Reduces the data of the explosion area effect simulation to the data needed by the effect show. * @param data Current area simulation data * @return Extract needed from the area simulation data */ static Database::EsmAesData asEsmAesData(const AreaEffectSimulation::ExplosionArea &data); /** * @brief Reduces the data of the min area effect simulation to the data needed by the effect show. * @param data Current area simulation data * @return Extract needed from the area simulation data */ static Database::EsmAesData asEsmAesData(const AreaEffectSimulation::MineArea &data); /** * @brief Reduces the data of the min area effect simulation to the data needed by the effect show. * @param data Current area simulation data * @return Extract needed from the area simulation data */ static Database::EsmAesData asEsmAesData(const AreaEffectSimulation::ExplosionCluster &data); /** * @brief Reduces the data of the min area effect simulation to the data needed by the effect show. * @param data Current area simulation data * @return Extract needed from the area simulation data */ static Database::EsmAesData asEsmAesData(const AreaEffectSimulation::EffectCluster &data); private: Initialization *m_mainHandler; Database::EsmAesData m_data; NGL::INGLLogger &m_logger; }; }