protected bool checkForPlayer ()
{
if( getPlayer() == null )
return false;
Vector3 playerPos = getPlayer ().transform.position;
// check if NPC can see that far
if (Vector3.Distance (transform.position, playerPos) <= visionDistance)
{
// get direction of player from NPC's point of view
Vector3 direction = playerPos - transform.position;
// get angle of direction
float angle = Vector3.Angle (direction, npcDir);
if (angle <= visionAngleOffset)
return true;
}
return false;
}