#ifndef QWABSTRACTGAMEDIALOGUE_H #define QWABSTRACTGAMEDIALOGUE_H #include #include "models/events/qw_abstractevent.h" /* QWAbstractGameDialogue * Interface for all in-game dialogues. */ class QWAbstractGameDialogue : public QWTagHolder { protected: QList>> list_events; public: QWAbstractGameDialogue(); virtual ~QWAbstractGameDialogue() override = 0; virtual void onExit(int code); virtual void setAllEvents(const QList>> &evs); virtual void addEventsList(const QList> &evs); //////////////////////// virtual void writeToJson(QJsonObject &savejson) override = 0; }; enum DIALOGUE_TYPE { // Pure visual-novel-like text TEXT, // External widget with inner logic described with qml WIDGET }; #endif // QWABSTRACTGAMEDIALOGUE_H