2022-07-10 14:32:44 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
#include <ostream>
|
|
|
|
#include <vector>
|
|
|
|
|
2023-05-31 22:22:23 +02:00
|
|
|
#include <QDebug>
|
2023-04-23 19:13:49 +02:00
|
|
|
#include <QJsonObject>
|
2022-07-10 14:32:44 +02:00
|
|
|
// represents a runepage
|
|
|
|
struct RunePage {
|
|
|
|
public:
|
|
|
|
uint32_t primaryStyle = 0;
|
|
|
|
uint32_t secondaryStyle = 0;
|
|
|
|
std::vector<uint32_t> selectedAspects; // all selected aspekts (should be exactly 9)
|
|
|
|
|
2023-04-23 19:13:49 +02:00
|
|
|
RunePage();
|
2022-07-10 14:32:44 +02:00
|
|
|
bool operator==(const RunePage& rp) const;
|
2022-07-10 15:19:25 +02:00
|
|
|
|
|
|
|
operator bool() const; // check if this runepage is valid (this does not check semantic validity, only if the values are set as they supposed to be)
|
2023-04-23 19:13:49 +02:00
|
|
|
|
|
|
|
operator QJsonObject() const;
|
|
|
|
RunePage(const QJsonObject& obj);
|
2022-07-10 14:32:44 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
std::ostream& operator<<(std::ostream&, const RunePage&);
|
2023-05-31 22:22:23 +02:00
|
|
|
QDebug operator<<(QDebug, const RunePage&);
|