Ejemplo n.º 1
0
Deck* Deck::setPosition(double pos, ScreenEdge e, bool checkCollisions, int distanceFromEdge)
{
	if (pos < 0) pos = 0;
	else if (pos > 1.0) pos = 1.0;

	_position = pos;

	if (e != None)
	{
		setEdge(e);
	}

	Deck *deckTo =  Manager::instance()->positionDeck(this, _position, _edge,
	                                                  _screen, checkCollisions,
	                                                  distanceFromEdge);

	//now, propagate movement to all cards in this deck (except root, since it already knows)
	int nCards = count();
	for (int i = 1; i < nCards; i++)
	{
		Card *card = cardAt(i);
		if (card) card->followDeck(_position, _edge);
	}

	return deckTo;
}