[Refactor] Move the active card from AbstractGame into GameScene (#7416)

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2026-10-31 18:44:08 +01:00 • committed by GitHub
parent 94b91be5a2
commit 4972ebcb97
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 26 additions and 20 deletions

View file

@ -124,6 +124,16 @@ QList<CardItem *> GameScene::selectedCards() const
return selectedCards;
}
CardItem *GameScene::getActiveCard() const
{
return activeCard;
}
void GameScene::setActiveCard(CardItem *card)
{
activeCard = card;
}
void GameScene::onCardSelectionChanged(AbstractCardItem *abstractCard, bool selected)
{
CardItem *card = qobject_cast<CardItem *>(abstractCard);
@ -139,7 +149,7 @@ void GameScene::onCardSelectionChanged(AbstractCardItem *abstractCard, bool sele
}
if (selectedItems().isEmpty()) {
owner->getGame()->setActiveCard(nullptr);
setActiveCard(nullptr);
owner->requestCardMenuUpdate(nullptr);
}
}
@ -158,7 +168,7 @@ void GameScene::onCardRightClicked(AbstractCardItem *abstractCard, QPoint screen
return;
}
card->getOwner()->getGame()->setActiveCard(card);
setActiveCard(card);
if (auto *menu = view->getPlayerMenu()->updateCardMenu(card)) {
menu->popup(screenPos);