switched from qsettings to json added editng of actors

This commit is contained in:
Carl Klemm 2019-06-06 21:19:12 +02:00
parent b04fbfb5bc
commit df27b622a0
141 changed files with 4402 additions and 5068 deletions

61
src/actors/actor.h Normal file
View file

@ -0,0 +1,61 @@
#ifndef ACTOR_H
#define ACTOR_H
#include <QObject>
#include <QString>
#include <QSettings>
#include <QJsonObject>
class Actor : public QObject
{
Q_OBJECT
public:
uint8_t triggerValue = 0;
protected:
bool active = true;
bool exausted = false;
void performAction();
QString name;
signals:
void sigValue(uint8_t value);
void trigger();
public slots:
virtual void makeActive();
virtual void makeInactive();
virtual void setActive(uint8_t state);
virtual void onValueChanged(uint8_t state);
public:
Actor(QObject* parent = nullptr);
virtual ~Actor();
bool isExausted();
virtual QString actionName();
virtual QString getName();
bool isActive();
void setTriggerValue(uint8_t value);
uint8_t getTriggerValue();
static Actor* createActor(const QString& type);
virtual void store(QJsonObject& json);
virtual void load(const QJsonObject& json);
static Actor* loadActor(const QJsonObject& json);
virtual void store(QString subsecton, QSettings* settings);
virtual void load(QString subsecton, QSettings* settings);
static Actor* loadActor(QString subsecton, QSettings* settings);
};
#endif // ACTOR_H