void DealToPlayer(bool logAction = true) { if (deck.Count > 0) { PlayingCard newPlayingCard = GeneratePlayingCard(DrawCard()); newPlayingCard.transform.position = CameraManagerInstance.HandLocation; cardsInHand.Add(newPlayingCard); if (logAction) { GameActions.Push(GameAction.FromCardDrawnFromDeck(newPlayingCard.RepresentingCard)); } if (cardsInHand.Count < GameRulesManager.ActiveGameRules.HandSizeRule) { DealToPlayer(logAction); return; } } else { Debug.Log("The deck is empty!"); } ResetCardsInHandPosition(); }