30 lines
752 B
C
30 lines
752 B
C
|
#ifndef QWABSTRACTDIALOGUEMANAGER_H
|
||
|
#define QWABSTRACTDIALOGUEMANAGER_H
|
||
|
|
||
|
#include <QObject>
|
||
|
#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<QWAbstractGameDialogue> &dialogue) = 0;
|
||
|
|
||
|
public slots:
|
||
|
virtual void onClicked(MouseButton mouse_button) = 0;
|
||
|
|
||
|
signals:
|
||
|
void onEntryDialogueTransition();
|
||
|
void onLeaveDialogueTransition();
|
||
|
};
|
||
|
|
||
|
#endif // QWABSTRACTDIALOGUEMANAGER_H
|