Ejemplo n.º 1
0
bool DiscardPile::_addCardItems(QList<CardItem*> &card_items, Player::Place place)
{
    _m_mutex_pileCards.lock();
    m_visibleCards.append(card_items);
    int numAdded = card_items.size();
    int numRemoved = m_visibleCards.size() - qMax(m_numCardsVisible, numAdded + 1);
    for (int i = 0; i <  numRemoved; i++)
    {
        CardItem* toRemove = m_visibleCards.first();
        toRemove->setZValue(0.0);
        toRemove->setHomeOpacity(0.0);
        connect(toRemove, SIGNAL(movement_animation_finished()), this, SLOT(_destroyCard()));
        toRemove->goBack(true);
        m_visibleCards.removeFirst();
    }
    foreach (CardItem* card_item, m_visibleCards)
    {
        card_item->setHomeOpacity(0.7);
    }