mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-05 09:33:25 -08:00
* [Refactor] Move game logic into libcockatrice_game * [Refactor] Include card_state.h in player_actions.h * [Game] Inject settings providers into libcockatrice_game, drop Widgets * [Game] Follow base rename to createCardRequested after rebase * [Game] Drop unused CardItem forward declaration * [Game] Fix includes after moving game logic into libcockatrice_game --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
32 lines
No EOL
1 KiB
C++
32 lines
No EOL
1 KiB
C++
#include "pile_zone_logic.h"
|
|
|
|
#include "../board/card_state.h"
|
|
|
|
PileZoneLogic::PileZoneLogic(PlayerLogic *_player,
|
|
const QString &_name,
|
|
bool _hasCardAttr,
|
|
bool _isShufflable,
|
|
bool _contentsKnown,
|
|
QObject *parent)
|
|
: CardZoneLogic(_player, _name, _hasCardAttr, _isShufflable, _contentsKnown, parent)
|
|
{
|
|
}
|
|
|
|
void PileZoneLogic::addCardImpl(CardState *card, int x, int /*y*/)
|
|
{
|
|
connect(card, &CardState::cardPixmapUpdated, this, &PileZoneLogic::callUpdate);
|
|
// if x is negative set it to add at end
|
|
if (x < 0 || x >= cards.size()) {
|
|
x = cards.size();
|
|
}
|
|
cards.insert(x, card);
|
|
if (!contentsKnown()) {
|
|
card->setCardRef({});
|
|
card->setId(-1);
|
|
// If we obscure a previously revealed card, its name has to be forgotten
|
|
if (cards.size() > x + 1) {
|
|
cards.at(x + 1)->setCardRef({});
|
|
}
|
|
}
|
|
card->resetState(false);
|
|
} |