38 lines
990 B
C
38 lines
990 B
C
|
#ifndef DIALOGUEMANAGER_H
|
||
|
#define DIALOGUEMANAGER_H
|
||
|
|
||
|
#include "qw_abstractdialoguemanager.h"
|
||
|
#include <QGraphicsPixmapItem>
|
||
|
#include <QLinkedList>
|
||
|
#include <QObject>
|
||
|
|
||
|
/* QWTextDialogueManager
|
||
|
* Controls text game-freezing dialogues. */
|
||
|
|
||
|
class QWTextDialogue;
|
||
|
|
||
|
class QWTextDialogueManager final : public QWAbstractDialogueManager
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
Q_DISABLE_COPY_MOVE(QWTextDialogueManager)
|
||
|
private:
|
||
|
std::shared_ptr<QWTextDialogue> ptr_text_dialogue;
|
||
|
std::shared_ptr<QGraphicsWidget> p_textbox;
|
||
|
QGraphicsSimpleTextItem *p_frametext;
|
||
|
|
||
|
public:
|
||
|
explicit QWTextDialogueManager(QWScene *scene = nullptr);
|
||
|
virtual ~QWTextDialogueManager() override;
|
||
|
|
||
|
virtual void activateDialogue(const std::shared_ptr<QWAbstractGameDialogue> &dialogue) override;
|
||
|
|
||
|
////////////////////////
|
||
|
|
||
|
void setDialoguePanel(const std::shared_ptr<QGraphicsWidget> &panel) noexcept;
|
||
|
|
||
|
public slots:
|
||
|
virtual void onClicked(MouseButton mouse_button) override;
|
||
|
};
|
||
|
|
||
|
#endif // DIALOGUEMANAGER_H
|