mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-14 22:42:14 -07:00
update CardDatabase signatures
This commit is contained in:
parent
47c9a03bee
commit
bc8e28133e
2 changed files with 27 additions and 26 deletions
|
|
@ -126,11 +126,11 @@ QList<CardInfoPtr> CardDatabase::getCards(const QStringList &cardNames) const
|
||||||
return cardInfos;
|
return cardInfos;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<CardInfoPtr> CardDatabase::getCardsByNameAndProviderId(const QMap<QString, QString> &cardNames) const
|
QList<CardInfoPtr> CardDatabase::getCardsByNameAndProviderId(const QList<CardRef> &cardRefs) const
|
||||||
{
|
{
|
||||||
QList<CardInfoPtr> cardInfos;
|
QList<CardInfoPtr> cardInfos;
|
||||||
for (const QString &cardName : cardNames) {
|
for (const auto &cardRef : cardRefs) {
|
||||||
CardInfoPtr ptr = getCardByNameAndProviderId(cardName, cardNames[cardName]);
|
CardInfoPtr ptr = getCardByNameAndProviderId(cardRef);
|
||||||
if (ptr)
|
if (ptr)
|
||||||
cardInfos.append(ptr);
|
cardInfos.append(ptr);
|
||||||
}
|
}
|
||||||
|
|
@ -138,16 +138,16 @@ QList<CardInfoPtr> CardDatabase::getCardsByNameAndProviderId(const QMap<QString,
|
||||||
return cardInfos;
|
return cardInfos;
|
||||||
}
|
}
|
||||||
|
|
||||||
CardInfoPtr CardDatabase::getCardByNameAndProviderId(const QString &cardName, const QString &providerId) const
|
CardInfoPtr CardDatabase::getCardByNameAndProviderId(const CardRef &cardRef) const
|
||||||
{
|
{
|
||||||
auto info = getCard(cardName);
|
auto info = getCard(cardRef.name);
|
||||||
if (providerId.isNull() || providerId.isEmpty() || info.isNull()) {
|
if (cardRef.providerId.isNull() || cardRef.providerId.isEmpty() || info.isNull()) {
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const auto &printings : info->getSets()) {
|
for (const auto &printings : info->getSets()) {
|
||||||
for (const auto &printing : printings) {
|
for (const auto &printing : printings) {
|
||||||
if (printing.getProperty("uuid") == providerId) {
|
if (printing.getProperty("uuid") == cardRef.providerId) {
|
||||||
CardInfoPtr cardFromSpecificSet = info->clone();
|
CardInfoPtr cardFromSpecificSet = info->clone();
|
||||||
cardFromSpecificSet->setPixmapCacheKey(QLatin1String("card_") + QString(info->getName()) +
|
cardFromSpecificSet->setPixmapCacheKey(QLatin1String("card_") + QString(info->getName()) +
|
||||||
QString("_") + QString(printing.getProperty("uuid")));
|
QString("_") + QString(printing.getProperty("uuid")));
|
||||||
|
|
@ -163,14 +163,14 @@ CardInfoPtr CardDatabase::getCardBySimpleName(const QString &cardName) const
|
||||||
return simpleNameCards.value(CardInfo::simplifyName(cardName));
|
return simpleNameCards.value(CardInfo::simplifyName(cardName));
|
||||||
}
|
}
|
||||||
|
|
||||||
CardInfoPtr CardDatabase::guessCard(const QString &cardName, const QString &providerId) const
|
CardInfoPtr CardDatabase::guessCard(const CardRef &cardRef) const
|
||||||
{
|
{
|
||||||
CardInfoPtr temp = providerId.isEmpty() ? getCard(cardName) : getCardByNameAndProviderId(cardName, providerId);
|
CardInfoPtr temp = cardRef.providerId.isEmpty() ? getCard(cardRef.name) : getCardByNameAndProviderId(cardRef);
|
||||||
|
|
||||||
if (temp == nullptr) { // get card by simple name instead
|
if (temp == nullptr) { // get card by simple name instead
|
||||||
temp = getCardBySimpleName(cardName);
|
temp = getCardBySimpleName(cardRef.name);
|
||||||
if (temp == nullptr) { // still could not find the card, so simplify the cardName too
|
if (temp == nullptr) { // still could not find the card, so simplify the cardName too
|
||||||
const auto &simpleCardName = CardInfo::simplifyName(cardName);
|
const auto &simpleCardName = CardInfo::simplifyName(cardRef.name);
|
||||||
temp = getCardBySimpleName(simpleCardName);
|
temp = getCardBySimpleName(simpleCardName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -335,9 +335,9 @@ PrintingInfo CardDatabase::getPreferredPrinting(const CardInfoPtr &cardInfo) con
|
||||||
return PrintingInfo(nullptr);
|
return PrintingInfo(nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
PrintingInfo CardDatabase::getSpecificPrinting(const QString &cardName, const QString &providerId) const
|
PrintingInfo CardDatabase::getSpecificPrinting(const CardRef &cardRef) const
|
||||||
{
|
{
|
||||||
CardInfoPtr cardInfo = getCard(cardName);
|
CardInfoPtr cardInfo = getCard(cardRef.name);
|
||||||
if (!cardInfo) {
|
if (!cardInfo) {
|
||||||
return PrintingInfo(nullptr);
|
return PrintingInfo(nullptr);
|
||||||
}
|
}
|
||||||
|
|
@ -349,14 +349,14 @@ PrintingInfo CardDatabase::getSpecificPrinting(const QString &cardName, const QS
|
||||||
|
|
||||||
for (const auto &printings : setMap) {
|
for (const auto &printings : setMap) {
|
||||||
for (auto &cardInfoForSet : printings) {
|
for (auto &cardInfoForSet : printings) {
|
||||||
if (cardInfoForSet.getProperty("uuid") == providerId) {
|
if (cardInfoForSet.getProperty("uuid") == cardRef.providerId) {
|
||||||
return cardInfoForSet;
|
return cardInfoForSet;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (providerId.isNull()) {
|
if (cardRef.providerId.isNull()) {
|
||||||
return getPreferredPrinting(cardName);
|
return getPreferredPrinting(cardRef.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
return PrintingInfo(nullptr);
|
return PrintingInfo(nullptr);
|
||||||
|
|
@ -409,13 +409,13 @@ QString CardDatabase::getPreferredPrintingProviderIdForCard(const QString &cardN
|
||||||
return defaultCardInfo->getName();
|
return defaultCardInfo->getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CardDatabase::isProviderIdForPreferredPrinting(const QString &cardName, const QString &providerId)
|
bool CardDatabase::isProviderIdForPreferredPrinting(const CardRef &cardRef)
|
||||||
{
|
{
|
||||||
if (providerId.startsWith("card_")) {
|
if (cardRef.providerId.startsWith("card_")) {
|
||||||
return providerId ==
|
return cardRef.providerId == QLatin1String("card_") + cardRef.name + QString("_") +
|
||||||
QLatin1String("card_") + cardName + QString("_") + getPreferredPrintingProviderIdForCard(cardName);
|
getPreferredPrintingProviderIdForCard(cardRef.name);
|
||||||
}
|
}
|
||||||
return providerId == getPreferredPrintingProviderIdForCard(cardName);
|
return cardRef.providerId == getPreferredPrintingProviderIdForCard(cardRef.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
PrintingInfo CardDatabase::getSetInfoForCard(const CardInfoPtr &_card)
|
PrintingInfo CardDatabase::getSetInfoForCard(const CardInfoPtr &_card)
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
#define CARDDATABASE_H
|
#define CARDDATABASE_H
|
||||||
|
|
||||||
#include "card_info.h"
|
#include "card_info.h"
|
||||||
|
#include "card_ref.h"
|
||||||
|
|
||||||
#include <QBasicMutex>
|
#include <QBasicMutex>
|
||||||
#include <QDate>
|
#include <QDate>
|
||||||
|
|
@ -67,18 +68,18 @@ public:
|
||||||
|
|
||||||
[[nodiscard]] CardInfoPtr getCard(const QString &cardName) const;
|
[[nodiscard]] CardInfoPtr getCard(const QString &cardName) const;
|
||||||
[[nodiscard]] QList<CardInfoPtr> getCards(const QStringList &cardNames) const;
|
[[nodiscard]] QList<CardInfoPtr> getCards(const QStringList &cardNames) const;
|
||||||
QList<CardInfoPtr> getCardsByNameAndProviderId(const QMap<QString, QString> &cardNames) const;
|
QList<CardInfoPtr> getCardsByNameAndProviderId(const QList<CardRef> &cardRefs) const;
|
||||||
[[nodiscard]] CardInfoPtr getCardByNameAndProviderId(const QString &cardName, const QString &providerId) const;
|
[[nodiscard]] CardInfoPtr getCardByNameAndProviderId(const CardRef &cardRef) const;
|
||||||
|
|
||||||
[[nodiscard]] PrintingInfo getPreferredPrinting(const QString &cardName) const;
|
[[nodiscard]] PrintingInfo getPreferredPrinting(const QString &cardName) const;
|
||||||
[[nodiscard]] PrintingInfo getPreferredPrinting(const CardInfoPtr &cardInfo) const;
|
[[nodiscard]] PrintingInfo getPreferredPrinting(const CardInfoPtr &cardInfo) const;
|
||||||
[[nodiscard]] PrintingInfo getSpecificPrinting(const QString &cardName, const QString &providerId) const;
|
[[nodiscard]] PrintingInfo getSpecificPrinting(const CardRef &cardRef) const;
|
||||||
PrintingInfo
|
PrintingInfo
|
||||||
getSpecificPrinting(const QString &cardName, const QString &setShortName, const QString &collectorNumber) const;
|
getSpecificPrinting(const QString &cardName, const QString &setShortName, const QString &collectorNumber) const;
|
||||||
QString getPreferredPrintingProviderIdForCard(const QString &cardName);
|
QString getPreferredPrintingProviderIdForCard(const QString &cardName);
|
||||||
bool isProviderIdForPreferredPrinting(const QString &cardName, const QString &providerId);
|
bool isProviderIdForPreferredPrinting(const CardRef &cardRef);
|
||||||
|
|
||||||
[[nodiscard]] CardInfoPtr guessCard(const QString &cardName, const QString &providerId = QString()) const;
|
[[nodiscard]] CardInfoPtr guessCard(const CardRef &cardRef) const;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get a card by its simple name. The name will be simplified in this
|
* Get a card by its simple name. The name will be simplified in this
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue