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.

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