/// <summary>
/// Constructor for the class. Creates a new deal during the current game.
/// </summary>
/// <param name="game"></param>
/// <param name="firstPlayer"></param>
internal Deal(BelotGame game, Player firstPlayer)
{
this._game = game;
this._firstPlayer = firstPlayer;
_mapEqualCombinationToPlayer = new ListDictionary();
_mapSequentialCombinationToPlayer = new ListDictionary();
_mapBelotCombinationToPlayer = new ListDictionary();
_allCards = InitCards();
_cards = new CardsCollection();
foreach (Card card in _allCards)
{
_cards.Add(card);
}
_currentAnnouncement = new Announcement(AnnouncementTypeEnum.Pass, false, false);
_game.RaiseDealStarted();
}