public static bool IsInSector(Transform self, Transform target, float angle, float radius) { if (Vector3.Distance(self.get_position(), target.get_position()) > radius) { return(false); } Vector3 vector = target.get_position() - self.get_position(); Quaternion quaternion = Quaternion.LookRotation(vector); float angle2 = target.get_rotation().get_eulerAngles().y - angle / 2f; float angle3 = target.get_rotation().get_eulerAngles().y + angle / 2f; float y = quaternion.get_eulerAngles().y; return(XUtility.CheckWithAngle(y, angle2, angle3)); }