Assets.Scripts.Enemy.EnemyMovement.CanSeePlayer C# (CSharp) Method

CanSeePlayer() private method

private CanSeePlayer ( ) : bool
return bool
        private bool CanSeePlayer()
        {
            var rayDirection = _player.transform.position - transform.position - new Vector3(0, .5f);

            if ((Vector3.Angle(rayDirection, transform.forward)) < FieldOfView)
            {
                RaycastHit hit;
                if (Physics.Raycast(transform.position + new Vector3(0, .5f), rayDirection, out hit) && Vector3.Distance(transform.position, _player.transform.position) < ViewDistance)
                {
                    if (hit.transform.tag == "Player")
                    {
                        return true;
                    }
                }
            }

            return false;
        }