コード例 #1
0
    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();
            }
        }
    }
コード例 #2
0
    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();
        }
    }