You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
909 B
C++

#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<QWAbstractGameDialogue> ptr_dialogue;
public:
explicit QWStartDialogueEvent(const std::shared_ptr<QWAbstractGameDialogue> &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