|
|
|
|
@@ -10,6 +10,7 @@
|
|
|
|
|
#include <QPointer>
|
|
|
|
|
|
|
|
|
|
#include "orderedjson.h"
|
|
|
|
|
#include "parseutil.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Project;
|
|
|
|
|
@@ -139,15 +140,14 @@ public:
|
|
|
|
|
Event::Type getEventType() const { return this->eventType; }
|
|
|
|
|
|
|
|
|
|
virtual OrderedJson::object buildEventJson(Project *project) = 0;
|
|
|
|
|
virtual bool loadFromJson(const QJsonObject &json, Project *project) = 0;
|
|
|
|
|
virtual bool loadFromJson(QJsonObject json, Project *project) = 0;
|
|
|
|
|
|
|
|
|
|
virtual void setDefaultValues(Project *project);
|
|
|
|
|
|
|
|
|
|
virtual QSet<QString> getExpectedFields() = 0;
|
|
|
|
|
void readCustomAttributes(const QJsonObject &json);
|
|
|
|
|
void addCustomAttributesTo(OrderedJson::object *obj) const;
|
|
|
|
|
const QMap<QString, QJsonValue> getCustomAttributes() const { return this->customAttributes; }
|
|
|
|
|
void setCustomAttributes(const QMap<QString, QJsonValue> newCustomAttributes) { this->customAttributes = newCustomAttributes; }
|
|
|
|
|
|
|
|
|
|
QJsonObject getCustomAttributes() const { return this->customAttributes; }
|
|
|
|
|
void setCustomAttributes(const QJsonObject &newCustomAttributes) { this->customAttributes = newCustomAttributes; }
|
|
|
|
|
|
|
|
|
|
virtual void loadPixmap(Project *project);
|
|
|
|
|
|
|
|
|
|
@@ -190,12 +190,16 @@ protected:
|
|
|
|
|
// When deleting events like this we want to warn the user that the #define may also be deleted.
|
|
|
|
|
QString idName;
|
|
|
|
|
|
|
|
|
|
QMap<QString, QJsonValue> customAttributes;
|
|
|
|
|
QJsonObject customAttributes;
|
|
|
|
|
|
|
|
|
|
QPixmap pixmap;
|
|
|
|
|
DraggablePixmapItem *pixmapItem = nullptr;
|
|
|
|
|
|
|
|
|
|
QPointer<EventFrame> eventFrame;
|
|
|
|
|
|
|
|
|
|
static QString readString(QJsonObject *object, const QString &key) { return ParseUtil::jsonToQString(object->take(key)); }
|
|
|
|
|
static int readInt(QJsonObject *object, const QString &key) { return ParseUtil::jsonToInt(object->take(key)); }
|
|
|
|
|
static bool readBool(QJsonObject *object, const QString &key) { return ParseUtil::jsonToBool(object->take(key)); }
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -218,7 +222,7 @@ public:
|
|
|
|
|
virtual EventFrame *createEventFrame() override;
|
|
|
|
|
|
|
|
|
|
virtual OrderedJson::object buildEventJson(Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(const QJsonObject &json, Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(QJsonObject json, Project *project) override;
|
|
|
|
|
|
|
|
|
|
virtual void setDefaultValues(Project *project) override;
|
|
|
|
|
|
|
|
|
|
@@ -285,7 +289,7 @@ public:
|
|
|
|
|
virtual EventFrame *createEventFrame() override;
|
|
|
|
|
|
|
|
|
|
virtual OrderedJson::object buildEventJson(Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(const QJsonObject &json, Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(QJsonObject json, Project *project) override;
|
|
|
|
|
|
|
|
|
|
virtual void setDefaultValues(Project *project) override;
|
|
|
|
|
|
|
|
|
|
@@ -323,7 +327,7 @@ public:
|
|
|
|
|
virtual EventFrame *createEventFrame() override;
|
|
|
|
|
|
|
|
|
|
virtual OrderedJson::object buildEventJson(Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(const QJsonObject &json, Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(QJsonObject json, Project *project) override;
|
|
|
|
|
|
|
|
|
|
virtual void setDefaultValues(Project *project) override;
|
|
|
|
|
|
|
|
|
|
@@ -358,7 +362,7 @@ public:
|
|
|
|
|
virtual EventFrame *createEventFrame() override = 0;
|
|
|
|
|
|
|
|
|
|
virtual OrderedJson::object buildEventJson(Project *project) override = 0;
|
|
|
|
|
virtual bool loadFromJson(const QJsonObject &json, Project *project) override = 0;
|
|
|
|
|
virtual bool loadFromJson(QJsonObject json, Project *project) override = 0;
|
|
|
|
|
|
|
|
|
|
virtual void setDefaultValues(Project *project) override = 0;
|
|
|
|
|
|
|
|
|
|
@@ -386,7 +390,7 @@ public:
|
|
|
|
|
virtual EventFrame *createEventFrame() override;
|
|
|
|
|
|
|
|
|
|
virtual OrderedJson::object buildEventJson(Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(const QJsonObject &json, Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(QJsonObject json, Project *project) override;
|
|
|
|
|
|
|
|
|
|
virtual void setDefaultValues(Project *project) override;
|
|
|
|
|
|
|
|
|
|
@@ -426,7 +430,7 @@ public:
|
|
|
|
|
virtual EventFrame *createEventFrame() override;
|
|
|
|
|
|
|
|
|
|
virtual OrderedJson::object buildEventJson(Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(const QJsonObject &json, Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(QJsonObject json, Project *project) override;
|
|
|
|
|
|
|
|
|
|
virtual void setDefaultValues(Project *project) override;
|
|
|
|
|
|
|
|
|
|
@@ -457,7 +461,7 @@ public:
|
|
|
|
|
virtual EventFrame *createEventFrame() override = 0;
|
|
|
|
|
|
|
|
|
|
virtual OrderedJson::object buildEventJson(Project *project) override = 0;
|
|
|
|
|
virtual bool loadFromJson(const QJsonObject &json, Project *project) override = 0;
|
|
|
|
|
virtual bool loadFromJson(QJsonObject json, Project *project) override = 0;
|
|
|
|
|
|
|
|
|
|
virtual void setDefaultValues(Project *project) override = 0;
|
|
|
|
|
|
|
|
|
|
@@ -484,7 +488,7 @@ public:
|
|
|
|
|
virtual EventFrame *createEventFrame() override;
|
|
|
|
|
|
|
|
|
|
virtual OrderedJson::object buildEventJson(Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(const QJsonObject &json, Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(QJsonObject json, Project *project) override;
|
|
|
|
|
|
|
|
|
|
virtual void setDefaultValues(Project *project) override;
|
|
|
|
|
|
|
|
|
|
@@ -519,7 +523,7 @@ public:
|
|
|
|
|
virtual EventFrame *createEventFrame() override;
|
|
|
|
|
|
|
|
|
|
virtual OrderedJson::object buildEventJson(Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(const QJsonObject &json, Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(QJsonObject json, Project *project) override;
|
|
|
|
|
|
|
|
|
|
virtual void setDefaultValues(Project *project) override;
|
|
|
|
|
|
|
|
|
|
@@ -564,7 +568,7 @@ public:
|
|
|
|
|
virtual EventFrame *createEventFrame() override;
|
|
|
|
|
|
|
|
|
|
virtual OrderedJson::object buildEventJson(Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(const QJsonObject &json, Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(QJsonObject json, Project *project) override;
|
|
|
|
|
|
|
|
|
|
virtual void setDefaultValues(Project *project) override;
|
|
|
|
|
|
|
|
|
|
@@ -596,12 +600,15 @@ public:
|
|
|
|
|
virtual EventFrame *createEventFrame() override;
|
|
|
|
|
|
|
|
|
|
virtual OrderedJson::object buildEventJson(Project *project) override;
|
|
|
|
|
virtual bool loadFromJson(const QJsonObject &, Project *) override;
|
|
|
|
|
virtual bool loadFromJson(QJsonObject json, Project *project) override;
|
|
|
|
|
|
|
|
|
|
virtual void setDefaultValues(Project *project) override;
|
|
|
|
|
|
|
|
|
|
virtual QSet<QString> getExpectedFields() override;
|
|
|
|
|
|
|
|
|
|
void setHostMapName(QString newHostMapName) { this->hostMapName = newHostMapName; }
|
|
|
|
|
QString getHostMapName() const;
|
|
|
|
|
|
|
|
|
|
void setRespawnMapName(QString newRespawnMapName) { this->respawnMapName = newRespawnMapName; }
|
|
|
|
|
QString getRespawnMapName() const { return this->respawnMapName; }
|
|
|
|
|
|
|
|
|
|
@@ -611,6 +618,7 @@ public:
|
|
|
|
|
private:
|
|
|
|
|
QString respawnMapName;
|
|
|
|
|
QString respawnNPC;
|
|
|
|
|
QString hostMapName; // Only needed if the host map fails to load.
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|