quest-wizard/models/events/qw_removetriggerevent.h

32 lines
794 B
C++

#ifndef QWREMOVETRIGGER_H
#define QWREMOVETRIGGER_H
#include "qw_abstractsceneevent.h"
/* QWRemoveTriggerEvent
* Removes a trigger from its location list. */
class QWRemoveTriggerEvent : public QWAbstractSceneEvent
{
private:
std::shared_ptr<QWTrigger> trigger; // What to add.
std::shared_ptr<QWLocation> location; // Where to add.
public:
explicit QWRemoveTriggerEvent(const std::shared_ptr<QWTrigger> &tr);
virtual ~QWRemoveTriggerEvent() override {}
void execute() override;
////////////////////////
void setLocation(const std::shared_ptr<QWLocation> &loc) noexcept;
void setTrigger(const std::shared_ptr<QWTrigger> &tr) noexcept;
////////////////////////
void writeToJson(QJsonObject &event_data) override;
};
#endif // QWREMOVETRIGGER_H