示例#1
0
    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));
    }