FicheJDR/character.cpp

55 lines
1.6 KiB
C++

#include "character.h"
#include <iostream>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QDebug>
Character::Character(){
for(int i = 0; i<6; i++){skills.append(0);}
for(int i = 0; i<6; i++){skillsMod.append(0);}
for(int i = 0; i<18; i++){stats.append(0);}
image = "data/images/logo.png";
}
Character::Character(QFile *file){
if (!file->open(QIODevice::ReadOnly)) {
qWarning() << "Could not open file:" << file->errorString();
return;
}
QByteArray data = file->readAll();
file->close();
QJsonDocument doc = QJsonDocument::fromJson(data);
if (doc.isNull()) {
qWarning() << "Failed to create JSON document";
return;
}
QJsonObject json = doc.object();
nom = json["name"].toString();
age = json["age"].toInt();
race = json["race"].toString();
classe = json["classe"].toString();
niveau = json["niveau"].toInt();
sexe = json["sexe"].toString();
taille = json["taille"].toDouble();
vie = json["vie"].toInt();
image = json["image"].toString();
QJsonArray skillArray = json["skills"].toArray();
for (int i = 0; i < skillArray.size(); ++i) {
int skillValue = skillArray[i].toInt();
skills.append(skillValue);
}
QJsonArray skillModArray = json["skillsMod"].toArray();
for (int i = 0; i < skillModArray.size(); ++i) {
int skillModValue = skillModArray[i].toInt();
skillsMod.append(skillModValue);
}
QJsonArray statArray = json["stats"].toArray();
for (int i = 0; i < statArray.size(); ++i) {
int statValue = statArray[i].toInt();
stats.append(statValue);
}
}