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
|