49 lines
2.0 KiB
C
49 lines
2.0 KiB
C
|
#ifndef EVENTFACTORY_H
|
||
|
#define EVENTFACTORY_H
|
||
|
|
||
|
#include <QJsonObject>
|
||
|
#include <QJsonArray>
|
||
|
|
||
|
#include "models/events/qw_abstractevent.h"
|
||
|
#include "models/events/qw_changelocationevent.h"
|
||
|
#include "models/events/qw_switcheventsevent.h"
|
||
|
#include "models/events/qw_deletefrominventoryevent.h"
|
||
|
#include "models/events/qw_pickupitemevent.h"
|
||
|
#include "models/events/qw_endlevelevent.h"
|
||
|
#include "models/events/qw_playsoundevent.h"
|
||
|
#include "models/events/qw_changetriggerpropertiesevent.h"
|
||
|
#include "models/events/qw_newgameevent.h"
|
||
|
#include "models/events/qw_quitgameevent.h"
|
||
|
#include "models/events/qw_startdialogueevent.h"
|
||
|
#include "models/events/qw_addtriggerevent.h"
|
||
|
#include "models/events/qw_removetriggerevent.h"
|
||
|
|
||
|
/* QWEventFactory
|
||
|
* Creates game events of all kinds! */
|
||
|
|
||
|
class QWLevelBuilder;
|
||
|
|
||
|
class QWEventFactory final
|
||
|
{
|
||
|
private:
|
||
|
QWLevelBuilder *builder;
|
||
|
|
||
|
public:
|
||
|
explicit QWEventFactory(QWLevelBuilder *b);
|
||
|
|
||
|
std::shared_ptr<QWDeleteFromInventoryEvent> createDeleteItEvent(const QJsonObject &json_object);
|
||
|
std::shared_ptr<QWChangeLocationEvent> createChangeLocEvent(const QJsonObject &json_object);
|
||
|
std::shared_ptr<QWChangeTriggerPropertiesEvent> createChangeTrProperts(const QJsonObject &json_object);
|
||
|
std::shared_ptr<QWSwitchEventsEvent> createSwitchEventsEvent(const QJsonObject &json_object);
|
||
|
std::shared_ptr<QWPickupItemEvent> createPickupItEvent(const QJsonObject &json_object);
|
||
|
std::shared_ptr<QWEndLevelEvent> createEndLevelEvent(const QJsonObject &json_object);
|
||
|
std::shared_ptr<QWPlaySoundEvent> createPlaySoundEvent(const QJsonObject &json_object);
|
||
|
std::shared_ptr<QWNewGameEvent> createNewGameEvent(const QJsonObject &json_object);
|
||
|
std::shared_ptr<QWQuitGameEvent> createQuitGameEvent(const QJsonObject &json_object);
|
||
|
std::shared_ptr<QWStartDialogueEvent> createStartDlgEvent(const QJsonObject &json_object);
|
||
|
std::shared_ptr<QWAddTriggerEvent> createAddTrEvent(const QJsonObject &json_object);
|
||
|
std::shared_ptr<QWRemoveTriggerEvent> createRemoveTrEvent(const QJsonObject &json_object);
|
||
|
};
|
||
|
|
||
|
#endif // EVENTFACTORY_H
|