public void AddCardToHand(Player player, WorkingCard card = null) { if (card == null) { if (player.CardsInDeck.Count == 0) { if (!_tutorialManager.IsTutorial) { player.DamageByNoMoreCardsInDeck++; player.Health -= player.DamageByNoMoreCardsInDeck; _vfxController.SpawnGotDamageEffect(player, -player.DamageByNoMoreCardsInDeck); } return; } card = player.CardsInDeck[0]; } if (CheckIsMoreThanMaxCards(card, player)) { return; } player.RemoveCardFromDeck(card); player.AddCardToHand(card); }
public void AttackPlayerByUnit(BoardUnit attackingUnit, Player attackedPlayer) { int damageAttacking = attackingUnit.CurrentDamage; if (attackingUnit != null && attackedPlayer != null) { attackedPlayer.Health -= damageAttacking; } attackingUnit.InvokeUnitAttacked(attackedPlayer, damageAttacking, true); _vfxController.SpawnGotDamageEffect(attackedPlayer, -damageAttacking); _tutorialManager.ReportAction(Enumerators.TutorialReportAction.ATTACK_CARD_HERO); _actionsQueueController.PostGameActionReport(_actionsQueueController.FormatGameActionReport( Enumerators.ActionType.ATTACK_PLAYER_BY_CREATURE, new object[] { attackingUnit, attackedPlayer })); }