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

@ -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());