public void ExecuteTurn(Transform recipient, CardObject usedCard) { attackTargetTransforms.Add(recipient); CharacterObject attackTargetObject = attackTargetTransforms[0].GetComponent <CharacterObject>(); myAttackPosition = attackTargetObject.enemyAttackPosition.position; effectTargetTransform = attackTargetObject.effectObjectTargetTransform; if (characterDefinition.characterType != CharacterType.PLAYER) { isExecutingTurn = true; turnComplete = false; appliedCard = (characterDefinition as EnemyCharacter).attackPattern[currentAttackPatternStep]; ApplyCardEffects(recipient, (characterDefinition as EnemyCharacter).attackPattern[currentAttackPatternStep]); currentAttackPatternStep = (currentAttackPatternStep + 1) % (characterDefinition as EnemyCharacter).attackPattern.Length; } else { isExecutingTurn = true; appliedCard = usedCard.cardDefinition; ApplyCardEffects(recipient, usedCard.cardDefinition); if (OnPlayerExecuteTurn != null) { OnPlayerExecuteTurn.Invoke(); } } }
public void ExecuteTurn(List <CharacterObject> enemyCharacters, CardObject usedCard) { foreach (CharacterObject enemy in enemyCharacters) { Transform recipient = enemy.transform; attackTargetTransforms.Add(recipient); isExecutingTurn = true; appliedCard = usedCard.cardDefinition; ApplyCardEffects(recipient, usedCard.cardDefinition); } if (OnPlayerExecuteTurn != null) { OnPlayerExecuteTurn.Invoke(); } }