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(); } } } }
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); }