mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-14 14:32:15 -07:00
use loadFromStream_Plain instead of manually adding CardNodes to the DeckList.
Took 30 minutes
This commit is contained in:
parent
c137201317
commit
fa6c8503fe
1 changed files with 37 additions and 32 deletions
|
|
@ -26,6 +26,9 @@ public:
|
||||||
list->setName(deckName);
|
list->setName(deckName);
|
||||||
list->setComments(deckDescription);
|
list->setComments(deckDescription);
|
||||||
|
|
||||||
|
QString outputText;
|
||||||
|
QTextStream outStream(&outputText);
|
||||||
|
|
||||||
for (auto entry : obj.value("cards").toArray()) {
|
for (auto entry : obj.value("cards").toArray()) {
|
||||||
auto quantity = entry.toObject().value("quantity").toInt();
|
auto quantity = entry.toObject().value("quantity").toInt();
|
||||||
|
|
||||||
|
|
@ -34,13 +37,13 @@ public:
|
||||||
QString cardName = oracleCard.value("name").toString();
|
QString cardName = oracleCard.value("name").toString();
|
||||||
QString setName = card.value("edition").toObject().value("editioncode").toString().toUpper();
|
QString setName = card.value("edition").toObject().value("editioncode").toString().toUpper();
|
||||||
QString collectorNumber = card.value("collectorNumber").toString();
|
QString collectorNumber = card.value("collectorNumber").toString();
|
||||||
QString providerId = card.value("uid").toString();
|
|
||||||
|
|
||||||
DecklistCardNode *newCard =
|
outStream << quantity << ' ' << cardName << " (" << setName << ") " << collectorNumber << '\n';
|
||||||
list->addCard(cardName, DECK_ZONE_MAIN, -1, setName, collectorNumber, providerId);
|
|
||||||
newCard->setNumber(quantity);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
list->loadFromStream_Plain(outStream, false);
|
||||||
|
list->resolveSetNameAndNumberToProviderID();
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -58,6 +61,36 @@ public:
|
||||||
list->setName(deckName);
|
list->setName(deckName);
|
||||||
list->setComments(deckDescription);
|
list->setComments(deckDescription);
|
||||||
|
|
||||||
|
QString outputText;
|
||||||
|
QTextStream outStream(&outputText);
|
||||||
|
|
||||||
|
for (auto entry : obj.value("mainboard").toObject()) {
|
||||||
|
auto quantity = entry.toObject().value("quantity").toInt();
|
||||||
|
|
||||||
|
auto card = entry.toObject().value("card").toObject();
|
||||||
|
QString cardName = card.value("name").toString();
|
||||||
|
QString setName = card.value("set").toString().toUpper();
|
||||||
|
QString collectorNumber = card.value("cn").toString();
|
||||||
|
|
||||||
|
outStream << quantity << ' ' << cardName << " (" << setName << ") " << collectorNumber << '\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
outStream << '\n';
|
||||||
|
|
||||||
|
for (auto entry : obj.value("sideboard").toObject()) {
|
||||||
|
auto quantity = entry.toObject().value("quantity").toInt();
|
||||||
|
|
||||||
|
auto card = entry.toObject().value("card").toObject();
|
||||||
|
QString cardName = card.value("name").toString();
|
||||||
|
QString setName = card.value("set").toString().toUpper();
|
||||||
|
QString collectorNumber = card.value("cn").toString();
|
||||||
|
|
||||||
|
outStream << quantity << ' ' << cardName << " (" << setName << ") " << collectorNumber << '\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
list->loadFromStream_Plain(outStream, false);
|
||||||
|
list->resolveSetNameAndNumberToProviderID();
|
||||||
|
|
||||||
QJsonObject commandersObj = obj.value("commanders").toObject();
|
QJsonObject commandersObj = obj.value("commanders").toObject();
|
||||||
if (!commandersObj.isEmpty()) {
|
if (!commandersObj.isEmpty()) {
|
||||||
for (auto it = commandersObj.begin(); it != commandersObj.end(); ++it) {
|
for (auto it = commandersObj.begin(); it != commandersObj.end(); ++it) {
|
||||||
|
|
@ -72,34 +105,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto entry : obj.value("mainboard").toObject()) {
|
|
||||||
auto quantity = entry.toObject().value("quantity").toInt();
|
|
||||||
|
|
||||||
auto card = entry.toObject().value("card").toObject();
|
|
||||||
QString cardName = card.value("name").toString();
|
|
||||||
QString setName = card.value("set").toString().toUpper();
|
|
||||||
QString collectorNumber = card.value("cn").toString();
|
|
||||||
QString providerId = card.value("scryfall_id").toString();
|
|
||||||
|
|
||||||
DecklistCardNode *newCard =
|
|
||||||
list->addCard(cardName, DECK_ZONE_MAIN, -1, setName, collectorNumber, providerId);
|
|
||||||
newCard->setNumber(quantity);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (auto entry : obj.value("sideboard").toObject()) {
|
|
||||||
auto quantity = entry.toObject().value("quantity").toInt();
|
|
||||||
|
|
||||||
auto card = entry.toObject().value("card").toObject();
|
|
||||||
QString cardName = card.value("name").toString();
|
|
||||||
QString setName = card.value("set").toString().toUpper();
|
|
||||||
QString collectorNumber = card.value("cn").toString();
|
|
||||||
QString providerId = card.value("scryfall_id").toString();
|
|
||||||
|
|
||||||
DecklistCardNode *newCard =
|
|
||||||
list->addCard(cardName, DECK_ZONE_SIDE, -1, setName, collectorNumber, providerId);
|
|
||||||
newCard->setNumber(quantity);
|
|
||||||
}
|
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue