From 997daa9c4523217d3d864314d3fe3a6f02c4ff1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Thu, 21 May 2026 06:25:41 +0200 Subject: [PATCH] Address comments. Took 17 minutes Took 9 seconds Took 1 minute --- cockatrice/src/game/game_scene.cpp | 6 +++--- cockatrice/src/game/game_scene.h | 1 + cockatrice/src/game/player/player_event_handler.cpp | 4 +++- cockatrice/src/interface/widgets/tabs/tab_game.cpp | 4 ++-- cockatrice/src/interface/widgets/tabs/tab_game.h | 1 - 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/cockatrice/src/game/game_scene.cpp b/cockatrice/src/game/game_scene.cpp index e58d4a15d..511d07b56 100644 --- a/cockatrice/src/game/game_scene.cpp +++ b/cockatrice/src/game/game_scene.cpp @@ -409,7 +409,7 @@ void GameScene::onArrowCreateRequested(ArrowData data) void GameScene::onArrowDeleteRequested(int arrowId) { if (auto *arrow = arrowRegistry.value(arrowId)) { - arrow->delArrow(); + emit requestArrowDeletion(arrowId); } } @@ -426,7 +426,7 @@ void GameScene::onCardZoneChanged(CardItem *card, bool sameZone) } } for (auto *arrow : toDelete) { - arrow->delArrow(); + emit requestArrowDeletion(arrow->getId()); } } @@ -434,7 +434,7 @@ void GameScene::clearArrowsForPlayer(int playerId) { for (auto *arrow : arrowRegistry.values()) { if (arrow->getPlayer()->getPlayerInfo()->getId() == playerId) { - arrow->delArrow(); + emit requestArrowDeletion(arrow->getId()); } } } diff --git a/cockatrice/src/game/game_scene.h b/cockatrice/src/game/game_scene.h index bce62a6f6..83d2c5935 100644 --- a/cockatrice/src/game/game_scene.h +++ b/cockatrice/src/game/game_scene.h @@ -216,6 +216,7 @@ signals: void sigStartRubberBand(const QPointF &selectionOrigin); void sigResizeRubberBand(const QPointF &cursorPoint, int selectedCount); void sigStopRubberBand(); + void requestArrowDeletion(int arrowId); }; #endif diff --git a/cockatrice/src/game/player/player_event_handler.cpp b/cockatrice/src/game/player/player_event_handler.cpp index d32d4aaca..24030057b 100644 --- a/cockatrice/src/game/player/player_event_handler.cpp +++ b/cockatrice/src/game/player/player_event_handler.cpp @@ -119,7 +119,9 @@ void PlayerEventHandler::eventCreateArrow(const Event_CreateArrow &event) emit player->arrowCreateRequested(data); - if (startPlayer && targetPlayer) { + const bool validForLogging = !startCardName.isEmpty() && (data.isPlayerTargeted() || !targetCardName.isEmpty()); + + if (startPlayer && targetPlayer && validForLogging) { emit logCreateArrow(player, startPlayer, startCardName, targetPlayer, targetCardName, data.isPlayerTargeted()); } } diff --git a/cockatrice/src/interface/widgets/tabs/tab_game.cpp b/cockatrice/src/interface/widgets/tabs/tab_game.cpp index 715d0c294..6b7b3539c 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_game.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_game.cpp @@ -962,8 +962,6 @@ void TabGame::createMenuItems() connect(aReverseTurn, &QAction::triggered, game->getGameEventHandler(), &GameEventHandler::handleReverseTurn); aRemoveLocalArrows = new QAction(this); connect(aRemoveLocalArrows, &QAction::triggered, this, &TabGame::actRemoveLocalArrows); - connect(this, &TabGame::arrowDeletionRequested, game->getGameEventHandler(), - &GameEventHandler::handleArrowDeletion); aRotateViewCW = new QAction(this); connect(aRotateViewCW, &QAction::triggered, this, &TabGame::actRotateViewCW); aRotateViewCCW = new QAction(this); @@ -1147,6 +1145,8 @@ void TabGame::createPlayAreaWidget(bool bReplay) scene = new GameScene(phasesToolbar, this); connect(game->getPlayerManager(), &PlayerManager::playerConceded, scene, &GameScene::rearrange); connect(game->getPlayerManager(), &PlayerManager::playerCountChanged, scene, &GameScene::rearrange); + connect(scene, &GameScene::requestArrowDeletion, game->getGameEventHandler(), + &GameEventHandler::handleArrowDeletion); gameView = new GameView(scene); auto gamePlayAreaVBox = new QVBoxLayout; diff --git a/cockatrice/src/interface/widgets/tabs/tab_game.h b/cockatrice/src/interface/widgets/tabs/tab_game.h index 66f23ba09..c8dfc3093 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_game.h +++ b/cockatrice/src/interface/widgets/tabs/tab_game.h @@ -137,7 +137,6 @@ signals: void gameLeft(); void chatMessageSent(QString chatMessage); void turnAdvanced(); - void arrowDeletionRequested(int arrowId); private slots: void adminLockChanged(bool lock);