32 lines
748 B
C++
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
|