Files
qt5-legatus-legacy/Lts/Services/AreaEffectSimulation/_handler_explosion_single_central.h
T
2026-08-13 18:33:10 +02:00

64 lines
1.9 KiB
C++
Executable File

/**
* Handler for all indirect fire single objects
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include "aes_db.h"
#include "handler_base.h"
#include "object_explosion_single_central.h"
#include <Viewer/SituationMap/ElevationMap/elevation_map.h>
#include <QMap>
#include <QTimer>
namespace SituationMap
{
class ElevationMap;
}
namespace AreaEffectSimulation
{
class ObjectExplosionSingleCentral;
class HandlerExplosionSingleCentral final : public HandlerBaseTmpl<ObjectExplosionSingleCentral>
, protected Interface::Fts::ExplosionSingleCentralModifyRequestHandler
, protected Interface::Fts::ExplosionSingleCentralRemoveRequestHandler
{
Q_OBJECT
public:
explicit HandlerExplosionSingleCentral(MainHandler *mainHandler);
~HandlerExplosionSingleCentral() = default;
Core::FunctionReplyObject explosionSingleCentralModifyRequest(const ExplosionSingleCentralModifyRequest &request);
Core::FunctionReplyObject explosionSingleCentralModifyGeometryRequest(const ExplosionSingleCentralModifyRequest &request);
bool init();
Core::FunctionReplyObject modifyPartyParticipant(qint32 itemId, qint32 partyId, qint32 participantId);
int totalAreas() const override { return -1; }
int totalAreasCentral() const override { return -1; }
void recountActiveAreas() override {}
SituationMap::ElevationMap *elevationMap() { return m_elevationMap; }
private:
Core::FunctionReplyObject explosionSingleCentralCreateRequest(const ExplosionSingleCentralModifyRequest &request);
void onExplosionSingleCentralModifyRequest(const rti::core::SampleIdentity &cookie,
const ExplosionSingleCentralModifyRequest &request) override;
void onExplosionSingleCentralRemoveRequest(const rti::core::SampleIdentity &cookie,
const Core::RemoveElementRequest &request) override;
private:
SituationMap::ElevationMap *m_elevationMap;
};
}