38 lines
786 B
C++
38 lines
786 B
C++
#include "itemloadersource.h"
|
|
|
|
#include <QJsonArray>
|
|
|
|
ItemLoaderSource::ItemLoaderSource(const QJsonObject& json, QObject *parent):
|
|
ItemSource{parent},
|
|
json(json)
|
|
{
|
|
}
|
|
|
|
void ItemLoaderSource::refresh()
|
|
{
|
|
std::vector<std::shared_ptr<Item>> items;
|
|
const QJsonArray itemsArray(json["Items"].toArray());
|
|
for(int i = 0; i < itemsArray.size(); ++i)
|
|
{
|
|
if(!itemsArray[i].isObject())
|
|
continue;
|
|
|
|
const QJsonObject itemObject = itemsArray[i].toObject();
|
|
std::shared_ptr<Item> newItem = Item::loadItem(itemObject);
|
|
if(newItem)
|
|
{
|
|
items.push_back(newItem);
|
|
qDebug()<<"Loaded item"<<newItem->getName();
|
|
}
|
|
}
|
|
gotItems(items, ITEM_UPDATE_LOADED);
|
|
}
|
|
|
|
void ItemLoaderSource::updateJson(const QJsonObject& json)
|
|
{
|
|
this->json = json;
|
|
}
|
|
|
|
ItemLoaderSource::~ItemLoaderSource()
|
|
{}
|
|
|