IEnumerator CombatCardPlayed(ICombatCard playedCardObject) { uiToggler.DisablePlayerActionsDuringCardPlay(); CombatCard playedCard = playedCardObject.GetAssignedCard(); CharacterGraphic userGraphic = playedCard.GetUserChar(); //Visualize card play if (playedCard.targetType == CombatCard.TargetType.None) PutCardToCharacter(playedCardObject, userGraphic); if (playedCard.targetType == CombatCard.TargetType.AllEnemies || playedCard.targetType == CombatCard.TargetType.AllFriendlies) PutCardToCenter(playedCardObject); if (playedCard.targetType != CombatCard.TargetType.None && playedCard.targetType != CombatCard.TargetType.AllEnemies && playedCard.targetType != CombatCard.TargetType.AllFriendlies) { CharacterGraphic targetGraphic = null; targetGraphic = playedCard.targetChars[0]; PutCardToCharacter(playedCardObject, targetGraphic); } //Actual effects playedCard.PlayCard(); playedCard.userCharGraphic.RemovePlayedCombatCardFromHand(playedCard); yield return new WaitForSeconds(cardPlayAnimationTime); GameObject.Destroy(playedCardObject.GetTransform().gameObject); if (userGraphic.GetHealth() > 0) userGraphic.TurnFinished(); characterManager.CleanupCharactersWhoDied(); if (turnStatus == TurnStatus.Player) uiToggler.ReenablePlayerActions(); TransferTurn(); yield break; }
void PutCardToCharacter(ICombatCard playedCardObject, CharacterGraphic character) { if (character == null) throw new System.Exception("Null character!"); playedCardObject.GetTransform().SetParent(character.appliedCardsGroup, false); playedCardObject.GetTransform().SetAsLastSibling(); }
public void PutCardToCenter(ICombatCard playedCardObject) { playedCardObject.GetTransform().SetParent(centerPlayArea, false); }