bool CanPotentialTargetBeSeen(Transform potentialTarget) { if (Physics.Linecast(head.position, potentialTarget.position, out hit, sightLayer)) { if (hit.transform == potentialTarget && (Vector3.Dot(head.forward, (potentialTarget.position - head.position).normalized) >= fieldOfView || Vector3.Distance(head.position, potentialTarget.position) < stealthRadius)) { enemyMaster.CallEventEnemySetNavTarget(potentialTarget); return(true); } else { enemyMaster.CallEventEnemyLostTarget(); return(false); } } else { enemyMaster.CallEventEnemyLostTarget(); return(false); } }