diff --git a/cockatrice/src/deck/deck_view.cpp b/cockatrice/src/deck/deck_view.cpp index ff58fc882..6c730cae4 100644 --- a/cockatrice/src/deck/deck_view.cpp +++ b/cockatrice/src/deck/deck_view.cpp @@ -68,8 +68,8 @@ void DeckViewCardDragItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) event->accept(); } -DeckViewCard::DeckViewCard(const QString &_name, const QString &_originZone, QGraphicsItem *parent) - : AbstractCardItem(_name, 0, -1, parent), originZone(_originZone), dragItem(0) +DeckViewCard::DeckViewCard(const QString &_name, const QString &_uuid, const QString &_originZone, QGraphicsItem *parent) + : AbstractCardItem(_name, _uuid, 0, -1, parent), originZone(_originZone), dragItem(0) { setAcceptHoverEvents(true); } diff --git a/cockatrice/src/deck/deck_view.h b/cockatrice/src/deck/deck_view.h index 11068d97b..bb4dc9e58 100644 --- a/cockatrice/src/deck/deck_view.h +++ b/cockatrice/src/deck/deck_view.h @@ -25,6 +25,7 @@ private: public: DeckViewCard(const QString &_name = QString(), + const QString &_uuid = QString(), const QString &_originZone = QString(), QGraphicsItem *parent = nullptr); ~DeckViewCard(); diff --git a/cockatrice/src/game/cards/abstract_card_item.cpp b/cockatrice/src/game/cards/abstract_card_item.cpp index 139ca6a08..90a13a46c 100644 --- a/cockatrice/src/game/cards/abstract_card_item.cpp +++ b/cockatrice/src/game/cards/abstract_card_item.cpp @@ -13,8 +13,8 @@ #include #include -AbstractCardItem::AbstractCardItem(const QString &_name, Player *_owner, int _id, QGraphicsItem *parent) - : ArrowTarget(_owner, parent), id(_id), name(_name), tapped(false), facedown(false), tapAngle(0), +AbstractCardItem::AbstractCardItem(const QString &_name, const QString &_uuid, Player *_owner, int _id, QGraphicsItem *parent) + : ArrowTarget(_owner, parent), id(_id), name(_name), uuid(_uuid), tapped(false), facedown(false), tapAngle(0), bgColor(Qt::transparent), isHovered(false), realZValue(0) { setCursor(Qt::OpenHandCursor); diff --git a/cockatrice/src/game/cards/abstract_card_item.h b/cockatrice/src/game/cards/abstract_card_item.h index 864783bbc..32371af7d 100644 --- a/cockatrice/src/game/cards/abstract_card_item.h +++ b/cockatrice/src/game/cards/abstract_card_item.h @@ -16,6 +16,7 @@ protected: CardInfoPtr info; int id; QString name; + QString uuid; bool tapped; bool facedown; int tapAngle; @@ -49,6 +50,7 @@ public: return Type; } AbstractCardItem(const QString &_name = QString(), + const QString &_uuid = QString(), Player *_owner = nullptr, int _id = -1, QGraphicsItem *parent = nullptr); @@ -75,6 +77,14 @@ public: return name; } void setName(const QString &_name = QString()); + QString getUUID() const + { + return uuid; + } + void setUUID(QString _uuid) + { + uuid = _uuid; + } qreal getRealZValue() const { return realZValue; diff --git a/cockatrice/src/game/cards/card_item.cpp b/cockatrice/src/game/cards/card_item.cpp index dd78aee04..2bf9920df 100644 --- a/cockatrice/src/game/cards/card_item.cpp +++ b/cockatrice/src/game/cards/card_item.cpp @@ -1,7 +1,6 @@ #include "card_item.h" #include "../../client/tabs/tab_game.h" -#include "../../main.h" #include "../../settings/cache_settings.h" #include "../board/arrow_item.h" #include "../game_scene.h" @@ -20,11 +19,12 @@ CardItem::CardItem(Player *_owner, const QString &_name, + const QString &_uuid, int _cardid, bool _revealedCard, QGraphicsItem *parent, CardZone *_zone) - : AbstractCardItem(_name, _owner, _cardid, parent), zone(_zone), revealedCard(_revealedCard), attacking(false), + : AbstractCardItem(_name, _uuid, _owner, _cardid, parent), zone(_zone), revealedCard(_revealedCard), attacking(false), destroyOnZoneChange(false), doesntUntap(false), dragItem(nullptr), attachedTo(nullptr) { owner->addCard(this); diff --git a/cockatrice/src/game/cards/card_item.h b/cockatrice/src/game/cards/card_item.h index 21224878f..e1e0b18c4 100644 --- a/cockatrice/src/game/cards/card_item.h +++ b/cockatrice/src/game/cards/card_item.h @@ -51,6 +51,7 @@ public: } CardItem(Player *_owner, const QString &_name = QString(), + const QString &_uuid = QString(), int _cardid = -1, bool revealedCard = false, QGraphicsItem *parent = nullptr, diff --git a/common/pb/serverinfo_card.proto b/common/pb/serverinfo_card.proto index 4d9a585cd..0d9b5da1c 100644 --- a/common/pb/serverinfo_card.proto +++ b/common/pb/serverinfo_card.proto @@ -4,6 +4,7 @@ import "serverinfo_cardcounter.proto"; message ServerInfo_Card { optional sint32 id = 1 [default = -1]; optional string name = 2; + optional string uuid = 17; optional sint32 x = 3 [default = -1]; optional sint32 y = 4 [default = -1]; optional bool face_down = 5; diff --git a/common/server_card.cpp b/common/server_card.cpp index 3bab40132..9d299dde0 100644 --- a/common/server_card.cpp +++ b/common/server_card.cpp @@ -27,8 +27,8 @@ #include -Server_Card::Server_Card(QString _name, 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), tapped(false), attacking(false), +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), attacking(false), facedown(false), color(), ptString(), annotation(), destroyOnZoneChange(false), doesntUntap(false), parentCard(0), stashedCard(nullptr) { diff --git a/common/server_card.h b/common/server_card.h index 58ef20255..10f9d3699 100644 --- a/common/server_card.h +++ b/common/server_card.h @@ -39,6 +39,7 @@ private: int id; int coord_x, coord_y; QString name; + QString uuid; QMap counters; bool tapped; bool attacking; @@ -54,7 +55,7 @@ private: Server_Card *stashedCard; public: - Server_Card(QString _name, int _id, int _coord_x, int _coord_y, Server_CardZone *_zone = nullptr); + Server_Card(QString _name, QString _uuid, int _id, int _coord_x, int _coord_y, Server_CardZone *_zone = nullptr); ~Server_Card() override; Server_CardZone *getZone() const @@ -70,6 +71,10 @@ public: { return id; } + QString getUUID() const + { + return uuid; + } int getX() const { return coord_x;