Пример #1
0
    public void Attack()
    {
        if (attackRange < 3)
        {
            Collider[] hitEnemies = Physics.OverlapSphere(attackPoint.position, attackRange, enemyLayers);

            foreach (Collider enemy in hitEnemies)
            {
                Debug.Log("colpisco vicino");
                enem = enemy.GetComponent <EnemyGeneral>();
                //animationObj.SetTrigger("TorchAttack");

                if (enem != null)
                {
                    enem.TakeDamage(attackDamage);
                    enem.HurtPart();
                }
            }
        }
        else
        {
            RaycastHit hit;
            if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, attackRange))
            {
                if (hit.collider.GetComponent <EnemyGeneral>())
                {
                    Debug.Log("colpisco distante");
                    enem = hit.collider.GetComponent <EnemyGeneral>();
                    enem.TakeDamage(attackDamage);
                    enem.FlamePart();
                }
            }
        }
    }
Пример #2
0
    void DmgCollider(GameObject targetEnemy, AttackType attackType)
    {
        if (targetEnemy.gameObject.tag == targetTag.ToString())
        {
            GetComponent <Collider>().enabled = false;
            if (targetTag.ToString() == "Enemy")
            {
                pg = Owner.GetComponent <PlayerGeneral>();
                eg = targetEnemy.GetComponent <EnemyGeneral>();
                var dmg = eg.ChangeHp(pg.offensive.normalAttack, attackType);
                DmgUI(dmg);
            }
            else
            {
                eg = Owner.GetComponent <EnemyGeneral>();
                pg = targetEnemy.GetComponent <PlayerGeneral>();
                pg.ChangeHp(eg.offensive.normalAttack, attackType);
            }
        }

        DestroyEffectAppear();
        Destroy(gameObject, 0.15f);
    }