quest-wizard/models/events/qw_abstractsceneevent.h

32 lines
671 B
C++

#ifndef QUESTABSTRACTSCENEEVENT_H
#define QUESTABSTRACTSCENEEVENT_H
#include "qw_abstractevent.h"
#include "view/qw_scene.h"
/* QWAbstractSceneEvent
* Interface for all in-game scene events. */
class QWAbstractSceneEvent : public QWAbstractEvent
{
protected:
QWScene *ptr_scene;
public:
QWAbstractSceneEvent();
virtual ~QWAbstractSceneEvent() override = 0;
virtual void execute() override = 0;
////////////////////////
void setScene(QWScene *const scene) noexcept;
QWScene *scene() const noexcept;
////////////////////////
virtual void writeToJson(QJsonObject &savejson) override = 0;
};
#endif // QUESTABSTRACTSCENEEVENT_H