Ejemplo n.º 1
0
    private void DealDamageToTarget(EntityController target)
    {
        if (target == null)
        {
            return;
        }

        target.TakeDamage(damage);
    }
    IEnumerator AttackAnim(EntityController attacker, EntityController defenser, int nbAttack)
    {
        attacker.transform.LookAt(defenser.transform);
        attacker.anim.Play("Attack");

        for (int i = 0; i < nbAttack; i++)
        {
            defenser.TakeDamage(attacker.damage);
        }

        if (defenser.counterattackCount > 0)
        {
            defenser.transform.LookAt(attacker.transform);

            GameObject instance = Instantiate(Resources.Load("Particles/attack"), attacker.transform.position - new Vector3(0.5f, -1, 0.5f), Quaternion.identity) as GameObject;
            instance.transform.eulerAngles = new Vector3(0, 45, 0);
            Destroy(instance, 2f);

            defenser.anim.Play("Attack");
        }
        for (int j = 0; j < defenser.counterattackCount; j++)
        {
            attacker.TakeDamage(defenser.damage);
        }

        yield return new WaitForSeconds(2f);

        TurnManager.Instance.SkipAction();
    }