From abc25a1a68724f29b5d84ea82d014cbc7b860f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Tue, 19 May 2026 10:57:35 +0200 Subject: [PATCH] [Player] Stop reaching into graphics_item and emit signals instead for conceded and zoneId Took 7 minutes Took 3 seconds --- cockatrice/src/game/player/player.cpp | 3 +-- cockatrice/src/game/player/player.h | 1 + cockatrice/src/game/player/player_graphics_item.cpp | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/cockatrice/src/game/player/player.cpp b/cockatrice/src/game/player/player.cpp index b1814a587..406258de7 100644 --- a/cockatrice/src/game/player/player.cpp +++ b/cockatrice/src/game/player/player.cpp @@ -89,7 +89,6 @@ void Player::setConceded(bool _conceded) if (conceded != _conceded) { conceded = _conceded; - getGraphicsItem()->setVisible(!conceded); if (conceded) { clear(); } @@ -100,7 +99,7 @@ void Player::setConceded(bool _conceded) void Player::setZoneId(int _zoneId) { zoneId = _zoneId; - graphicsItem->getPlayerArea()->setPlayerZoneId(zoneId); + emit zoneIdChanged(zoneId); } void Player::processPlayerInfo(const ServerInfo_Player &info) diff --git a/cockatrice/src/game/player/player.h b/cockatrice/src/game/player/player.h index f9ab10207..43520b7ad 100644 --- a/cockatrice/src/game/player/player.h +++ b/cockatrice/src/game/player/player.h @@ -72,6 +72,7 @@ signals: void newCardAdded(AbstractCardItem *card); void rearrangeCounters(); void activeChanged(bool active); + void zoneIdChanged(int zoneId); void concededChanged(int playerId, bool conceded); void clearCustomZonesMenu(); void addViewCustomZoneActionToCustomZoneMenu(QString zoneName); diff --git a/cockatrice/src/game/player/player_graphics_item.cpp b/cockatrice/src/game/player/player_graphics_item.cpp index a4f515274..e3d38bdc2 100644 --- a/cockatrice/src/game/player/player_graphics_item.cpp +++ b/cockatrice/src/game/player/player_graphics_item.cpp @@ -15,6 +15,8 @@ PlayerGraphicsItem::PlayerGraphicsItem(Player *_player) : player(_player) connect(&SettingsCache::instance(), &SettingsCache::handJustificationChanged, this, &PlayerGraphicsItem::rearrangeZones); connect(player, &Player::rearrangeCounters, this, &PlayerGraphicsItem::rearrangeCounters); + connect(player, &Player::concededChanged, this, [this](int, bool c) { setVisible(!c); }); + connect(player, &Player::zoneIdChanged, this, [this](int id) { playerArea->setPlayerZoneId(id); }); playerArea = new PlayerArea(this);