Refactor UUID to be providerId and change QString comparisons with empty string to isEmpty().

This commit is contained in:
Lukas Brübach 2024-11-19 03:06:45 +01:00
parent 472186b4a0
commit a958a126a5
24 changed files with 125 additions and 112 deletions

View file

@ -1029,7 +1029,7 @@ void TabDeckEditor::actSwapCard()
if (!currentIndex.isValid())
return;
const QString cardName = currentIndex.sibling(currentIndex.row(), 1).data().toString();
const QString cardUUID = currentIndex.sibling(currentIndex.row(), 2).data().toString();
const QString cardProviderID = currentIndex.sibling(currentIndex.row(), 2).data().toString();
const QModelIndex gparent = currentIndex.parent().parent();
if (!gparent.isValid())
@ -1041,7 +1041,7 @@ void TabDeckEditor::actSwapCard()
// Third argument (true) says create the card no matter what, even if not in DB
QModelIndex newCardIndex = deckModel->addCard(
cardName, CardDatabaseManager::getInstance()->getSpecificSetForCard(cardName, cardUUID), otherZoneName, true);
cardName, CardDatabaseManager::getInstance()->getSpecificSetForCard(cardName, cardProviderID), otherZoneName, true);
recursiveExpand(newCardIndex);
setModified(true);

View file

@ -48,8 +48,8 @@ PictureToLoad::PictureToLoad(CardInfoPtr _card)
if (QLatin1String("card_") + card->getName() + QString("_") + QString(set.getProperty("uuid")) ==
card->getPixmapCacheKey()) {
long long setIndex = sortedSets.indexOf(set.getPtr());
CardSetPtr setForCardUUID = sortedSets.takeAt(setIndex);
sortedSets.prepend(setForCardUUID);
CardSetPtr setForCardProviderID = sortedSets.takeAt(setIndex);
sortedSets.prepend(setForCardProviderID);
}
}
// The first time called, nextSet will also populate the Urls for the first set.
@ -179,7 +179,7 @@ void PictureLoaderWorker::processLoadQueue()
qDebug().nospace() << "PictureLoader: [card: " << cardName << " set: " << setName
<< "]: Trying to load picture";
if (CardDatabaseManager::getInstance()->isUuidForPreferredPrinting(
if (CardDatabaseManager::getInstance()->isProviderIdForPreferredPrinting(
cardName, cardBeingLoaded.getCard()->getPixmapCacheKey())) {
if (cardImageExistsOnDisk(setName, correctedCardName)) {
continue;

View file

@ -111,9 +111,9 @@ void CardInfoFrameWidget::setCard(const QString &cardName)
setCard(CardDatabaseManager::getInstance()->guessCard(cardName));
}
void CardInfoFrameWidget::setCard(const QString &cardName, const QString &uuid)
void CardInfoFrameWidget::setCard(const QString &cardName, const QString &providerId)
{
setCard(CardDatabaseManager::getInstance()->getCardByNameAndUUID(cardName, uuid));
setCard(CardDatabaseManager::getInstance()->getCardByNameAndProviderId(cardName, providerId));
}
void CardInfoFrameWidget::setCard(AbstractCardItem *card)

View file

@ -36,7 +36,7 @@ public:
public slots:
void setCard(CardInfoPtr card);
void setCard(const QString &cardName);
void setCard(const QString &cardName, const QString &uuid);
void setCard(const QString &cardName, const QString &providerId);
void setCard(AbstractCardItem *card);
void clearCard();
void setViewMode(int mode);

View file

@ -120,7 +120,7 @@ QVariant DeckListModel::data(const QModelIndex &index, int role) const
return node->getCardCollectorNumber();
}
case 4: {
return node->getCardUuid();
return node->getCardProviderId();
}
default:
return {};
@ -150,7 +150,7 @@ QVariant DeckListModel::data(const QModelIndex &index, int role) const
case 3:
return card->getCardCollectorNumber();
case 4:
return card->getCardUuid();
return card->getCardProviderId();
default:
return {};
}
@ -257,7 +257,7 @@ bool DeckListModel::setData(const QModelIndex &index, const QVariant &value, con
node->setCardCollectorNumber(value.toString());
break;
case 4:
node->setCardUUID(value.toString());
node->setCardProviderId(value.toString());
break;
default:
return false;
@ -310,7 +310,7 @@ InnerDecklistNode *DeckListModel::createNodeIfNeeded(const QString &name, InnerD
}
DecklistModelCardNode *
DeckListModel::findCardNode(const QString &cardName, const QString &zoneName, const QString &uuid) const
DeckListModel::findCardNode(const QString &cardName, const QString &zoneName, const QString &providerId) const
{
InnerDecklistNode *zoneNode, *typeNode;
CardInfoPtr info;
@ -332,17 +332,17 @@ DeckListModel::findCardNode(const QString &cardName, const QString &zoneName, co
return nullptr;
}
if (uuid.isEmpty()) {
if (providerId.isEmpty()) {
return dynamic_cast<DecklistModelCardNode *>(typeNode->findChild(cardName));
}
return dynamic_cast<DecklistModelCardNode *>(typeNode->findCardChildByNameAndUUID(cardName, uuid));
return dynamic_cast<DecklistModelCardNode *>(typeNode->findCardChildByNameAndProviderId(cardName, providerId));
}
QModelIndex DeckListModel::findCard(const QString &cardName, const QString &zoneName, const QString &uuid) const
QModelIndex DeckListModel::findCard(const QString &cardName, const QString &zoneName, const QString &providerId) const
{
DecklistModelCardNode *cardNode;
cardNode = findCardNode(cardName, zoneName, uuid);
cardNode = findCardNode(cardName, zoneName, providerId);
if (!cardNode) {
return {};
}
@ -362,7 +362,7 @@ QModelIndex DeckListModel::addCard(const QString &cardName,
bool abAddAnyway)
{
CardInfoPtr cardInfo =
CardDatabaseManager::getInstance()->getCardByNameAndUUID(cardName, cardInfoSet.getProperty("uuid"));
CardDatabaseManager::getInstance()->getCardByNameAndProviderId(cardName, cardInfoSet.getProperty("uuid"));
if (cardInfo == nullptr) {
if (abAddAnyway) {
@ -383,7 +383,7 @@ QModelIndex DeckListModel::addCard(const QString &cardName,
const QModelIndex parentIndex = nodeToIndex(cardTypeNode);
auto *cardNode = dynamic_cast<DecklistModelCardNode *>(
cardTypeNode->findCardChildByNameAndUUID(cardName, cardInfoSet.getProperty("uuid")));
cardTypeNode->findCardChildByNameAndProviderId(cardName, cardInfoSet.getProperty("uuid")));
if (!cardNode) {
auto *decklistCard =
deckList->addCard(cardInfo->getName(), zoneName, cardInfoSet.getPtr()->getCorrectedShortName(),
@ -395,7 +395,7 @@ QModelIndex DeckListModel::addCard(const QString &cardName,
cardNode->setNumber(cardNode->getNumber() + 1);
cardNode->setCardSetShortName(cardInfoSet.getPtr()->getCorrectedShortName());
cardNode->setCardCollectorNumber(cardInfoSet.getProperty("num"));
cardNode->setCardUUID(cardInfoSet.getProperty("uuid"));
cardNode->setCardProviderId(cardInfoSet.getProperty("uuid"));
deckList->updateDeckHash();
}
sort(lastKnownColumn, lastKnownOrder);

View file

@ -38,13 +38,13 @@ public:
{
dataNode->setName(_name);
}
QString getCardUuid() const override
QString getCardProviderId() const override
{
return dataNode->getCardUuid();
return dataNode->getCardProviderId();
}
void setCardUUID(const QString &_cardUUID) override
void setCardProviderId(const QString &_cardProviderId) override
{
dataNode->setCardUUID(_cardUUID);
dataNode->setCardProviderId(_cardProviderId);
}
QString getCardSetShortName() const override
{
@ -90,7 +90,7 @@ public:
Qt::ItemFlags flags(const QModelIndex &index) const override;
bool setData(const QModelIndex &index, const QVariant &value, int role) override;
bool removeRows(int row, int count, const QModelIndex &parent) override;
QModelIndex findCard(const QString &cardName, const QString &zoneName, const QString &uuid = "") const;
QModelIndex findCard(const QString &cardName, const QString &zoneName, const QString &providerId = "") const;
QModelIndex addPreferredPrintingCard(const QString &cardName, const QString &zoneName, bool abAddAnyway);
QModelIndex
addCard(const ::QString &cardName, CardInfoPerSet cardInfoSet, const QString &zoneName, bool abAddAnyway = false);
@ -110,7 +110,7 @@ private:
InnerDecklistNode *createNodeIfNeeded(const QString &name, InnerDecklistNode *parent);
QModelIndex nodeToIndex(AbstractDecklistNode *node) const;
DecklistModelCardNode *
findCardNode(const QString &cardName, const QString &zoneName, const QString &uuid = "") const;
findCardNode(const QString &cardName, const QString &zoneName, const QString &providerId = "") const;
void emitRecursiveUpdates(const QModelIndex &index);
void sortHelper(InnerDecklistNode *node, Qt::SortOrder order);

View file

@ -69,10 +69,10 @@ void DeckViewCardDragItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
}
DeckViewCard::DeckViewCard(const QString &_name,
const QString &_uuid,
const QString &_providerId,
const QString &_originZone,
QGraphicsItem *parent)
: AbstractCardItem(_name, _uuid, 0, -1, parent), originZone(_originZone), dragItem(0)
: AbstractCardItem(_name, _providerId, 0, -1, parent), originZone(_originZone), dragItem(0)
{
setAcceptHoverEvents(true);
}
@ -357,7 +357,7 @@ void DeckViewScene::rebuildTree()
continue;
for (int k = 0; k < currentCard->getNumber(); ++k) {
DeckViewCard *newCard = new DeckViewCard(currentCard->getName(), currentCard->getCardUuid(),
DeckViewCard *newCard = new DeckViewCard(currentCard->getName(), currentCard->getCardProviderId(),
currentZone->getName(), container);
container->addCard(newCard);
emit newCardAdded(newCard);

View file

@ -25,7 +25,7 @@ private:
public:
DeckViewCard(const QString &_name = QString(),
const QString &_uuid = QString(),
const QString &_providerId = QString(),
const QString &_originZone = QString(),
QGraphicsItem *parent = nullptr);
~DeckViewCard();

View file

@ -13,11 +13,11 @@
#include <algorithm>
AbstractCardItem::AbstractCardItem(const QString &_name,
const QString &_uuid,
const QString &_providerId,
Player *_owner,
int _id,
QGraphicsItem *parent)
: ArrowTarget(_owner, parent), id(_id), name(_name), uuid(_uuid), tapped(false), facedown(false), tapAngle(0),
: ArrowTarget(_owner, parent), id(_id), name(_name), providerId(_providerId), tapped(false), facedown(false), tapAngle(0),
bgColor(Qt::transparent), isHovered(false), realZValue(0)
{
setCursor(Qt::OpenHandCursor);
@ -53,7 +53,7 @@ void AbstractCardItem::pixmapUpdated()
void AbstractCardItem::cardInfoUpdated()
{
info = CardDatabaseManager::getInstance()->getCardByNameAndUUID(name, uuid);
info = CardDatabaseManager::getInstance()->getCardByNameAndProviderId(name, providerId);
if (!info && !name.isEmpty()) {
QVariantHash properties = QVariantHash();
@ -188,9 +188,9 @@ void AbstractCardItem::setName(const QString &_name)
cardInfoUpdated();
}
void AbstractCardItem::setUUID(const QString &_uuid)
void AbstractCardItem::setProviderId(const QString &_providerId)
{
if (uuid == _uuid) {
if (providerId == _providerId) {
return;
}
@ -198,7 +198,7 @@ void AbstractCardItem::setUUID(const QString &_uuid)
if (info) {
disconnect(info.data(), nullptr, this, nullptr);
}
uuid = _uuid;
providerId = _providerId;
cardInfoUpdated();
}

View file

@ -16,7 +16,7 @@ protected:
CardInfoPtr info;
int id;
QString name;
QString uuid;
QString providerId;
bool tapped;
bool facedown;
int tapAngle;
@ -50,7 +50,7 @@ public:
return Type;
}
AbstractCardItem(const QString &_name = QString(),
const QString &_uuid = QString(),
const QString &_providerId = QString(),
Player *_owner = nullptr,
int _id = -1,
QGraphicsItem *parent = nullptr);
@ -77,11 +77,11 @@ public:
return name;
}
void setName(const QString &_name = QString());
QString getUUID() const
QString getProviderId() const
{
return uuid;
return providerId;
}
void setUUID(const QString &_uuid = QString());
void setProviderId(const QString &_providerId = QString());
qreal getRealZValue() const
{
return realZValue;

View file

@ -441,15 +441,15 @@ QList<CardInfoPtr> CardDatabase::getCards(const QStringList &cardNames) const
return cardInfos;
}
CardInfoPtr CardDatabase::getCardByNameAndUUID(const QString &cardName, const QString &uuid) const
CardInfoPtr CardDatabase::getCardByNameAndProviderId(const QString &cardName, const QString &providerId) const
{
auto info = getCard(cardName);
if (uuid.isNull() || uuid.isEmpty() || info.isNull()) {
if (providerId.isNull() || providerId.isEmpty() || info.isNull()) {
return info;
}
for (const auto &set : info->getSets()) {
if (set.getProperty("uuid") == uuid) {
if (set.getProperty("uuid") == providerId) {
CardInfoPtr cardFromSpecificSet = info->clone();
cardFromSpecificSet->setPixmapCacheKey(QLatin1String("card_") + QString(info->getName()) + QString("_") +
QString(set.getProperty("uuid")));
@ -602,7 +602,7 @@ void CardDatabase::refreshPreferredPrintings()
{
for (const CardInfoPtr &card : cards) {
card->setPixmapCacheKey(QLatin1String("card_") + QString(card->getName()) + QString("_") +
QString(getPreferredPrintingUUIDForCard(card->getName())));
QString(getPreferredPrintingProviderIdForCard(card->getName())));
}
}
@ -637,7 +637,7 @@ CardInfoPerSet CardDatabase::getPreferredSetForCard(const QString &cardName)
return CardInfoPerSet(nullptr);
}
CardInfoPerSet CardDatabase::getSpecificSetForCard(const QString &cardName, const QString &uuid) const
CardInfoPerSet CardDatabase::getSpecificSetForCard(const QString &cardName, const QString &providerId) const
{
CardInfoPtr cardInfo = getCard(cardName);
if (!cardInfo) {
@ -650,7 +650,7 @@ CardInfoPerSet CardDatabase::getSpecificSetForCard(const QString &cardName, cons
}
for (auto &cardInfoForSet : setMap) {
if (cardInfoForSet.getProperty("uuid") == uuid) {
if (cardInfoForSet.getProperty("uuid") == providerId) {
return cardInfoForSet;
}
}
@ -658,26 +658,26 @@ CardInfoPerSet CardDatabase::getSpecificSetForCard(const QString &cardName, cons
return CardInfoPerSet(nullptr);
}
QString CardDatabase::getPreferredPrintingUUIDForCard(const QString &cardName)
QString CardDatabase::getPreferredPrintingProviderIdForCard(const QString &cardName)
{
CardInfoPerSet preferredSetCardInfo = getPreferredSetForCard(cardName);
QString preferredPrintingUUID = preferredSetCardInfo.getProperty(QString("uuid"));
if (preferredPrintingUUID.isEmpty()) {
QString preferredPrintingProviderId = preferredSetCardInfo.getProperty(QString("uuid"));
if (preferredPrintingProviderId.isEmpty()) {
CardInfoPtr defaultCardInfo = getCard(cardName);
if (defaultCardInfo.isNull()) {
return cardName;
}
return defaultCardInfo->getName();
}
return preferredPrintingUUID;
return preferredPrintingProviderId;
}
bool CardDatabase::isUuidForPreferredPrinting(const QString &cardName, const QString &uuid)
bool CardDatabase::isProviderIdForPreferredPrinting(const QString &cardName, const QString &providerId)
{
if (uuid.startsWith("card_")) {
return uuid == QLatin1String("card_") + cardName + QString("_") + getPreferredPrintingUUIDForCard(cardName);
if (providerId.startsWith("card_")) {
return providerId == QLatin1String("card_") + cardName + QString("_") + getPreferredPrintingProviderIdForCard(cardName);
}
return uuid == getPreferredPrintingUUIDForCard(cardName);
return providerId == getPreferredPrintingProviderIdForCard(cardName);
}
void CardDatabase::refreshCachedReverseRelatedCards()

View file

@ -429,10 +429,10 @@ public:
void removeCard(CardInfoPtr card);
CardInfoPtr getCard(const QString &cardName) const;
QList<CardInfoPtr> getCards(const QStringList &cardNames) const;
CardInfoPtr getCardByNameAndUUID(const QString &cardName, const QString &uuid) const;
CardInfoPtr getCardByNameAndProviderId(const QString &cardName, const QString &providerId) const;
CardInfoPerSet getPreferredSetForCard(const QString &cardName);
CardInfoPerSet getSpecificSetForCard(const QString &cardName, const QString &uuid) const;
QString getPreferredPrintingUUIDForCard(const QString &cardName);
CardInfoPerSet getSpecificSetForCard(const QString &cardName, const QString &providerId) const;
QString getPreferredPrintingProviderIdForCard(const QString &cardName);
CardInfoPtr guessCard(const QString &cardName) const;
/*
@ -442,7 +442,7 @@ public:
CardInfoPtr getCardBySimpleName(const QString &cardName) const;
CardSetPtr getSet(const QString &setName);
bool isUuidForPreferredPrinting(const QString &cardName, const QString &uuid);
bool isProviderIdForPreferredPrinting(const QString &cardName, const QString &providerId);
QList<CardInfoPtr> getCardList() const
{
return cards.values();

View file

@ -19,12 +19,12 @@
CardItem::CardItem(Player *_owner,
const QString &_name,
const QString &_uuid,
const QString &_providerId,
int _cardid,
bool _revealedCard,
QGraphicsItem *parent,
CardZone *_zone)
: AbstractCardItem(_name, _uuid, _owner, _cardid, parent), zone(_zone), revealedCard(_revealedCard),
: AbstractCardItem(_name, _providerId, _owner, _cardid, parent), zone(_zone), revealedCard(_revealedCard),
attacking(false), destroyOnZoneChange(false), doesntUntap(false), dragItem(nullptr), attachedTo(nullptr)
{
owner->addCard(this);
@ -243,7 +243,7 @@ void CardItem::processCardInfo(const ServerInfo_Card &_info)
}
setId(_info.id());
setUUID(QString::fromStdString(_info.uuid()));
setProviderId(QString::fromStdString(_info.provider_id()));
setName(QString::fromStdString(_info.name()));
setAttacking(_info.attacking());
setFaceDown(_info.face_down());

View file

@ -51,7 +51,7 @@ public:
}
CardItem(Player *_owner,
const QString &_name = QString(),
const QString &_uuid = QString(),
const QString &_providerId = QString(),
int _cardid = -1,
bool revealedCard = false,
QGraphicsItem *parent = nullptr,

View file

@ -2168,8 +2168,8 @@ void Player::eventMoveCard(const Event_MoveCard &event, const GameEventContext &
if (event.has_card_name()) {
card->setName(QString::fromStdString(event.card_name()));
}
if (event.has_new_card_uuid()) {
card->setUUID(QString::fromStdString(event.new_card_uuid()));
if (event.has_new_card_provider_id()) {
card->setProviderId(QString::fromStdString(event.new_card_provider_id()));
}
if (card->getAttachedTo() && (startZone != targetZone)) {
@ -2329,7 +2329,7 @@ void Player::eventDrawCards(const Event_DrawCards &event)
for (int i = 0; i < listSize; ++i) {
const ServerInfo_Card &cardInfo = event.cards(i);
CardItem *card = _deck->takeCard(0, cardInfo.id());
card->setUUID(QString::fromStdString(cardInfo.uuid()));
card->setProviderId(QString::fromStdString(cardInfo.provider_id()));
card->setName(QString::fromStdString(cardInfo.name()));
_hand->addCard(card, false, -1);
}

View file

@ -126,7 +126,7 @@ void CardZone::addCard(CardItem *card, bool reorganize, int x, int y)
{
for (auto *view : views) {
if ((x <= view->getCards().size()) || (view->getNumberCards() == -1)) {
view->addCard(new CardItem(player, card->getName(), card->getUUID(), card->getId()), reorganize, x, y);
view->addCard(new CardItem(player, card->getName(), card->getProviderId(), card->getId()), reorganize, x, y);
}
}

View file

@ -57,7 +57,8 @@ void ZoneViewZone::initializeCards(const QList<const ServerInfo_Card *> &cardLis
if (!cardList.isEmpty()) {
for (int i = 0; i < cardList.size(); ++i)
addCard(new CardItem(player, QString::fromStdString(cardList[i]->name()),
QString::fromStdString(cardList[i]->uuid()), cardList[i]->id(), revealZone, this),
QString::fromStdString(cardList[i]->provider_id()), cardList[i]->id(), revealZone,
this),
false, i);
reorganizeCards();
} else if (!origZone->contentsKnown()) {
@ -75,7 +76,7 @@ void ZoneViewZone::initializeCards(const QList<const ServerInfo_Card *> &cardLis
int number = numberCards == -1 ? c.size() : (numberCards < c.size() ? numberCards : c.size());
for (int i = 0; i < number; i++) {
CardItem *card = c.at(i);
addCard(new CardItem(player, card->getName(), card->getUUID(), card->getId(), revealZone, this), false, i);
addCard(new CardItem(player, card->getName(), card->getProviderId(), card->getId(), revealZone, this), false, i);
}
reorganizeCards();
}
@ -88,8 +89,8 @@ void ZoneViewZone::zoneDumpReceived(const Response &r)
for (int i = 0; i < respCardListSize; ++i) {
const ServerInfo_Card &cardInfo = resp.zone_info().card_list(i);
auto cardName = QString::fromStdString(cardInfo.name());
auto cardUuid = QString::fromStdString(cardInfo.uuid());
auto *card = new CardItem(player, cardName, cardUuid, cardInfo.id(), revealZone, this, this);
auto cardProviderId = QString::fromStdString(cardInfo.provider_id());
auto *card = new CardItem(player, cardName, cardProviderId, cardInfo.id(), revealZone, this, this);
cards.insert(i, card);
}
reorganizeCards();

View file

@ -89,7 +89,7 @@ int AbstractDecklistNode::depth() const
InnerDecklistNode::InnerDecklistNode(InnerDecklistNode *other, InnerDecklistNode *_parent)
: AbstractDecklistNode(_parent), name(other->getName()), cardSetShortName(other->getCardSetShortName()),
cardCollectorNumber(other->getCardCollectorNumber()), cardUUID(other->getCardUuid())
cardCollectorNumber(other->getCardCollectorNumber()), cardProviderId(other->getCardProviderId())
{
for (int i = 0; i < other->size(); ++i) {
auto *inner = dynamic_cast<InnerDecklistNode *>(other->at(i));
@ -142,7 +142,7 @@ void InnerDecklistNode::clearTree()
DecklistCardNode::DecklistCardNode(DecklistCardNode *other, InnerDecklistNode *_parent)
: AbstractDecklistCardNode(_parent), name(other->getName()), number(other->getNumber()),
cardSetShortName(other->getCardSetShortName()), cardSetNumber(other->getCardCollectorNumber()),
cardUUID(other->getCardUuid())
cardProviderId(other->getCardProviderId())
{
}
@ -156,10 +156,11 @@ AbstractDecklistNode *InnerDecklistNode::findChild(const QString &_name)
return nullptr;
}
AbstractDecklistNode *InnerDecklistNode::findCardChildByNameAndUUID(const QString &_name, const QString &_uuid)
AbstractDecklistNode *InnerDecklistNode::findCardChildByNameAndProviderId(const QString &_name,
const QString &_providerId)
{
for (int i = 0; i < size(); i++) {
if (at(i) != nullptr && at(i)->getName() == _name && at(i)->getCardUuid() == _uuid) {
if (at(i) != nullptr && at(i)->getName() == _name && at(i)->getCardProviderId() == _providerId) {
return at(i);
}
}
@ -318,14 +319,14 @@ void AbstractDecklistCardNode::writeElement(QXmlStreamWriter *xml)
xml->writeAttribute("number", QString::number(getNumber()));
xml->writeAttribute("name", getName());
if (getCardSetShortName() != "") {
if (getCardSetShortName().isEmpty()) {
xml->writeAttribute("setShortName", getCardSetShortName());
}
if (getCardCollectorNumber() != "") {
if (getCardCollectorNumber().isEmpty()) {
xml->writeAttribute("collectorNumber", getCardCollectorNumber());
}
if (getCardUuid() != "") {
xml->writeAttribute("uuid", getCardUuid());
if (getCardProviderId().isEmpty()) {
xml->writeAttribute("uuid", getCardProviderId());
}
}
@ -768,14 +769,14 @@ DecklistCardNode *DeckList::addCard(const QString &cardName,
const QString &zoneName,
const QString &cardSetName,
const QString &cardSetCollectorNumber,
const QString &cardUUID)
const QString &cardProviderId)
{
auto *zoneNode = dynamic_cast<InnerDecklistNode *>(root->findChild(zoneName));
if (zoneNode == nullptr) {
zoneNode = new InnerDecklistNode(zoneName, root);
}
auto *node = new DecklistCardNode(cardName, 1, zoneNode, cardSetName, cardSetCollectorNumber, cardUUID);
auto *node = new DecklistCardNode(cardName, 1, zoneNode, cardSetName, cardSetCollectorNumber, cardProviderId);
updateDeckHash();
return node;

View file

@ -63,7 +63,7 @@ public:
sortMethod = method;
}
virtual QString getName() const = 0;
virtual QString getCardUuid() const = 0;
virtual QString getCardProviderId() const = 0;
virtual QString getCardSetShortName() const = 0;
virtual QString getCardCollectorNumber() const = 0;
InnerDecklistNode *getParent() const
@ -83,7 +83,7 @@ class InnerDecklistNode : public AbstractDecklistNode, public QList<AbstractDeck
QString name;
QString cardSetShortName;
QString cardCollectorNumber;
QString cardUUID;
QString cardProviderId;
class compareFunctor;
public:
@ -104,13 +104,13 @@ public:
}
static QString visibleNameFromName(const QString &_name);
[[nodiscard]] virtual QString getVisibleName() const;
[[nodiscard]] QString getCardUuid() const override
[[nodiscard]] QString getCardProviderId() const override
{
return cardUUID;
return cardProviderId;
}
void setCardUUID(const QString &_cardUUID)
void setCardProviderId(const QString &_cardProviderId)
{
cardUUID = _cardUUID;
cardProviderId = _cardProviderId;
}
[[nodiscard]] QString getCardSetShortName() const override
{
@ -131,7 +131,7 @@ public:
void clearTree();
AbstractDecklistNode *findChild(const QString &_name);
AbstractDecklistNode *findCardChildByNameAndUUID(const QString &_name, const QString &_uuid);
AbstractDecklistNode *findCardChildByNameAndProviderId(const QString &_name, const QString &_providerId);
int height() const override;
int recursiveCount(bool countTotalCards = false) const;
bool compare(AbstractDecklistNode *other) const override;
@ -153,8 +153,8 @@ public:
virtual void setNumber(int _number) = 0;
QString getName() const override = 0;
virtual void setName(const QString &_name) = 0;
virtual QString getCardUuid() const override = 0;
virtual void setCardUUID(const QString &_cardUUID) = 0;
virtual QString getCardProviderId() const override = 0;
virtual void setCardProviderId(const QString &_cardProviderId) = 0;
virtual QString getCardSetShortName() const override = 0;
virtual void setCardSetShortName(const QString &_cardSetShortName) = 0;
virtual QString getCardCollectorNumber() const override = 0;
@ -177,7 +177,7 @@ class DecklistCardNode : public AbstractDecklistCardNode
int number;
QString cardSetShortName;
QString cardSetNumber;
QString cardUUID;
QString cardProviderId;
public:
explicit DecklistCardNode(QString _name = QString(),
@ -185,10 +185,10 @@ public:
InnerDecklistNode *_parent = nullptr,
QString _cardSetShortName = QString(),
QString _cardSetNumber = QString(),
QString _cardUUID = QString())
QString _cardProviderId = QString())
: AbstractDecklistCardNode(_parent), name(std::move(_name)), number(_number),
cardSetShortName(std::move(_cardSetShortName)), cardSetNumber(std::move(_cardSetNumber)),
cardUUID(std::move(_cardUUID))
cardProviderId(std::move(_cardProviderId))
{
}
explicit DecklistCardNode(DecklistCardNode *other, InnerDecklistNode *_parent);
@ -208,13 +208,13 @@ public:
{
name = _name;
}
QString getCardUuid() const override
QString getCardProviderId() const override
{
return cardUUID;
return cardProviderId;
}
void setCardUUID(const QString &_cardUUID) override
void setCardProviderId(const QString &_providerId) override
{
cardUUID = _cardUUID;
cardProviderId = _providerId;
}
QString getCardSetShortName() const override
@ -325,7 +325,7 @@ public:
const QString &zoneName,
const QString &cardSetName = QString(),
const QString &cardSetCollectorNumber = QString(),
const QString &cardUUID = QString());
const QString &cardProviderId = QString());
bool deleteNode(AbstractDecklistNode *node, InnerDecklistNode *rootNode = nullptr);
/**

View file

@ -16,5 +16,5 @@ message Event_MoveCard {
optional sint32 y = 9 [default = -1];
optional sint32 new_card_id = 10 [default = -1];
optional bool face_down = 11;
optional string new_card_uuid = 12;
optional string new_card_provider_id = 12;
}

View file

@ -18,5 +18,5 @@ message ServerInfo_Card {
optional sint32 attach_player_id = 14 [default = -1];
optional string attach_zone = 15;
optional sint32 attach_card_id = 16 [default = -1];
optional string uuid = 17;
optional string provider_id = 17;
}

View file

@ -27,8 +27,13 @@
#include <QVariant>
Server_Card::Server_Card(QString _name, QString _uuid, int _id, int _coord_x, int _coord_y, Server_CardZone *_zone)
: zone(_zone), id(_id), coord_x(_coord_x), coord_y(_coord_y), name(_name), uuid(_uuid), tapped(false),
Server_Card::Server_Card(QString _name,
QString _provider_id,
int _id,
int _coord_x,
int _coord_y,
Server_CardZone *_zone)
: zone(_zone), id(_id), coord_x(_coord_x), coord_y(_coord_y), name(_name), provider_id(_provider_id), tapped(false),
attacking(false), facedown(false), color(), ptString(), annotation(), destroyOnZoneChange(false),
doesntUntap(false), parentCard(0), stashedCard(nullptr)
{
@ -130,7 +135,7 @@ void Server_Card::getInfo(ServerInfo_Card *info)
QString displayedName = facedown ? QString() : name;
info->set_id(id);
info->set_uuid(uuid.toStdString());
info->set_provider_id(provider_id.toStdString());
info->set_name(displayedName.toStdString());
info->set_x(coord_x);
info->set_y(coord_y);

View file

@ -39,7 +39,7 @@ private:
int id;
int coord_x, coord_y;
QString name;
QString uuid;
QString provider_id;
QMap<int, int> counters;
bool tapped;
bool attacking;
@ -55,7 +55,12 @@ private:
Server_Card *stashedCard;
public:
Server_Card(QString _name, QString _uuid, int _id, int _coord_x, int _coord_y, Server_CardZone *_zone = nullptr);
Server_Card(QString _name,
QString _provider_id,
int _id,
int _coord_x,
int _coord_y,
Server_CardZone *_zone = nullptr);
~Server_Card() override;
Server_CardZone *getZone() const
@ -71,9 +76,9 @@ public:
{
return id;
}
QString getUUID() const
QString getProviderId() const
{
return uuid;
return provider_id;
}
int getX() const
{

View file

@ -210,7 +210,8 @@ void Server_Player::setupZones()
}
for (int k = 0; k < currentCard->getNumber(); ++k) {
z->insertCard(
new Server_Card(currentCard->getName(), currentCard->getCardUuid(), nextCardId++, 0, 0, z), -1, 0);
new Server_Card(currentCard->getName(), currentCard->getCardProviderId(), nextCardId++, 0, 0, z),
-1, 0);
}
}
}
@ -339,7 +340,7 @@ Response::ResponseCode Server_Player::drawCards(GameEventStorage &ges, int numbe
ServerInfo_Card *cardInfo = eventPrivate.add_cards();
cardInfo->set_id(card->getId());
cardInfo->set_name(card->getName().toStdString());
cardInfo->set_uuid(card->getUUID().toStdString());
cardInfo->set_provider_id(card->getProviderId().toStdString());
}
ges.enqueueGameEvent(eventPrivate, playerId, GameEventStorageItem::SendToPrivate, playerId);
@ -587,7 +588,7 @@ Response::ResponseCode Server_Player::moveCard(GameEventStorage &ges,
if (sourceKnownToPlayer || !(faceDown || targetzone->getType() == ServerInfo_Zone::HiddenZone)) {
QString privateCardName = card->getName();
eventPrivate.set_card_name(privateCardName.toStdString());
eventPrivate.set_new_card_uuid(card->getUUID().toStdString());
eventPrivate.set_new_card_provider_id(card->getProviderId().toStdString());
}
if (startzone->getType() == ServerInfo_Zone::HiddenZone) {
eventPrivate.set_position(position);
@ -620,7 +621,7 @@ Response::ResponseCode Server_Player::moveCard(GameEventStorage &ges,
if (!(sourceHiddenToOthers && targetHiddenToOthers)) {
QString publicCardName = card->getName();
eventOthers.set_card_name(publicCardName.toStdString());
eventOthers.set_new_card_uuid(card->getUUID().toStdString());
eventOthers.set_new_card_provider_id(card->getProviderId().toStdString());
}
eventOthers.set_new_card_id(card->getId());
}
@ -1945,7 +1946,7 @@ Server_Player::cmdDumpZone(const Command_DumpZone &cmd, ResponseContainer &rc, G
Server_Card *card = cards[i];
QString displayedName = card->getFaceDown() ? QString() : card->getName();
ServerInfo_Card *cardInfo = zoneInfo->add_card_list();
cardInfo->set_uuid(card->getUUID().toStdString());
cardInfo->set_provider_id(card->getProviderId().toStdString());
cardInfo->set_name(displayedName.toStdString());
if (zone->getType() == ServerInfo_Zone::HiddenZone) {
cardInfo->set_id(i);
@ -2063,7 +2064,7 @@ Server_Player::cmdRevealCards(const Command_RevealCards &cmd, ResponseContainer
ServerInfo_Card *cardInfo = eventPrivate.add_cards();
cardInfo->set_id(card->getId());
cardInfo->set_uuid(card->getUUID().toStdString());
cardInfo->set_provider_id(card->getProviderId().toStdString());
cardInfo->set_name(card->getName().toStdString());
cardInfo->set_x(card->getX());
cardInfo->set_y(card->getY());