#ifndef QWSTARTDIALOGUEEVENT_H #define QWSTARTDIALOGUEEVENT_H #include "qw_abstractevent.h" /* QWStartDialogueEvent * Starts a game-freezing dialogue by moving QWScene from gameplay state. */ class QWAbstractDialogueManager; class QWAbstractGameDialogue; class QWStartDialogueEvent : public QWAbstractEvent { private: QWAbstractDialogueManager *ptr_dialogue_manager; std::shared_ptr ptr_dialogue; public: explicit QWStartDialogueEvent(const std::shared_ptr &dialogue); virtual ~QWStartDialogueEvent() override {} void execute() override; //////////////////////// void setDialogueManager(QWAbstractDialogueManager *dialogman) noexcept; QWAbstractDialogueManager *dialogueManager() const noexcept; //////////////////////// void writeToJson(QJsonObject &event_data) override; }; #endif // QWSTARTDIALOGUEEVENT_H