quest-wizard/models/events/qw_abstractlevelevent.h

32 lines
748 B
C++

#ifndef QUESTABSTRACTLEVELEVENT_H
#define QUESTABSTRACTLEVELEVENT_H
#include "features/qw_levelbuilder.h"
#include "qw_abstractevent.h"
/* QWAbstractLevelEvent
* Interface for all in-game events which control save files and levels. */
class QWAbstractLevelEvent : public QWAbstractEvent
{
protected:
QWLevelBuilder *ptr_builder;
public:
QWAbstractLevelEvent();
virtual ~QWAbstractLevelEvent() override = 0;
virtual void execute() override = 0;
////////////////////////
void setLevelBuilder(QWLevelBuilder *const buil) noexcept;
QWLevelBuilder *levelBuilder() const noexcept;
////////////////////////
virtual void writeToJson(QJsonObject &savejson) override = 0;
};
#endif // QUESTABSTRACTLEVELEVENT_H