inital commit

This commit is contained in:
2022-01-14 23:25:56 +01:00
commit fede535b95
32 changed files with 2357 additions and 0 deletions

58
src/items/item.h Normal file
View File

@ -0,0 +1,58 @@
#pragma once
#include <QObject>
#include <vector>
#include <QRandomGenerator>
#include <QSettings>
#include <QJsonObject>
#include <memory>
class Actor;
class ItemData
{
protected:
QString name_;
uint8_t value_;
uint32_t itemId_;
public:
ItemData(uint32_t itemIdIn = QRandomGenerator::global()->generate(), QString name = "Item", uint8_t value = 0);
inline bool operator==(const ItemData& in) const{ return itemId_==in.itemId_; }
inline bool operator!=(const ItemData& in) const{ return itemId_!=in.itemId_; }
uint32_t id() const;
void setName(QString name);
uint8_t getValue() const;
virtual QString getName() const;
};
class Item: public QObject, public ItemData
{
Q_OBJECT
private:
signals:
void valueChanged(uint8_t value);
void functionChanged(uint8_t function, bool on);
public slots:
virtual void setValue(uint8_t value);
virtual void setFunction(uint8_t funciton, bool value);
public:
Item(uint32_t itemIdIn = QRandomGenerator::global()->generate(), QString name = "Item", uint8_t value = 0, QObject *parent = nullptr);
Item(const ItemData& itemData, QObject *parent = nullptr);
virtual ~Item();
void informValue(uint8_t value);
};