Card* CardsShoe::DrawCard() { // In the case of no decks present, reseed. if (this->Decks->Count() == 0) { this->ReSeedDeck(); } Deck* firstDeck = this->Decks->Get(0); Card* nextCard = firstDeck->DrawCard(); DrawnCards->Add(nextCard); if (firstDeck->DeckCards->Count() == 0) { this->Decks->RemoveAt(0); } return nextCard; }