#ifndef QWABSTRACTDIALOGUEMANAGER_H #define QWABSTRACTDIALOGUEMANAGER_H #include #include "view/qw_scene.h" #include "models/dialogues/qw_abstractgamedialogue.h" class QWAbstractDialogueManager : public QObject { Q_OBJECT Q_DISABLE_COPY_MOVE(QWAbstractDialogueManager) protected: QWScene *ptr_scene; public: explicit QWAbstractDialogueManager(QWScene *scene = nullptr); virtual ~QWAbstractDialogueManager() override = 0; virtual void activateDialogue(const std::shared_ptr &dialogue) = 0; public slots: virtual void onClicked(MouseButton mouse_button) = 0; signals: void onEntryDialogueTransition(); void onLeaveDialogueTransition(); }; #endif // QWABSTRACTDIALOGUEMANAGER_H