// Token: 0x0600490B RID: 18699 RVA: 0x00116868 File Offset: 0x00114A68
    internal bool Internal_RaycastRef(Ray ray, ref global::UIHotSpot.Hit hit)
    {
        float         num;
        float         num2;
        IntersectHint intersectHint = Intersect3D.RayCircleInfiniteForward(ray, this.center, this.radius, ref num, ref num2);

        switch (intersectHint)
        {
        case 1:
        case 2:
        case 3:
            hit.distance = Mathf.Min(num, num2);
            if (hit.distance < 0f && (hit.distance = Mathf.Max(num, num2)) < 0f)
            {
                return(false);
            }
            hit.point  = ray.GetPoint(hit.distance);
            hit.normal = Vector3.Normalize(hit.point - this.center);
            return(true);

        default:
            Debug.Log(intersectHint, this);
            return(false);
        }
    }
    // Token: 0x060048BA RID: 18618 RVA: 0x0011435C File Offset: 0x0011255C
    internal bool Internal_RaycastRef(Ray ray, ref global::UIHotSpot.Hit hit)
    {
        if (this.radius == 0f)
        {
            return(false);
        }
        Plane plane;

        plane..ctor(global::UIHotSpot.forward, this.center);
        float num;

        if (!plane.Raycast(ray, ref num))
        {
            hit = default(global::UIHotSpot.Hit);
            return(false);
        }
        hit.point  = ray.GetPoint(num);
        hit.normal = ((!plane.GetSide(ray.origin)) ? global::UIHotSpot.backward : global::UIHotSpot.forward);
        Vector2 vector;

        vector.x = hit.point.x - this.center.x;
        vector.y = hit.point.y - this.center.y;
        float num2 = vector.x * vector.x + vector.y * vector.y;

        if (num2 < this.radius * this.radius)
        {
            hit.distance = Mathf.Sqrt(num2);
            return(true);
        }
        return(false);
    }
    // Token: 0x06004905 RID: 18693 RVA: 0x00116624 File Offset: 0x00114824
    internal bool Internal_RaycastRef(Ray ray, ref global::UIHotSpot.Hit hit)
    {
        if (this.size.x < 2.802597E-45f || this.size.y < 2.802597E-45f)
        {
            return(false);
        }
        hit.normal = global::UIHotSpot.forward;
        Plane plane;

        plane..ctor(global::UIHotSpot.forward, this.center);
        float num;

        if (!plane.Raycast(ray, ref num))
        {
            hit = default(global::UIHotSpot.Hit);
            return(false);
        }
        hit.point = ray.GetPoint(num);
        Vector2 vector;

        vector.x = ((hit.point.x >= this.center.x) ? (hit.point.x - this.center.x) : (this.center.x - hit.point.x));
        vector.y = ((hit.point.y >= this.center.y) ? (hit.point.y - this.center.y) : (this.center.y - hit.point.y));
        if (vector.x * 2f <= this.size.x && vector.y * 2f <= this.size.y)
        {
            hit.distance = Mathf.Sqrt(vector.x * vector.x + vector.y * vector.y);
            return(true);
        }
        return(false);
    }
    // Token: 0x060048B1 RID: 18609 RVA: 0x0011423C File Offset: 0x0011243C
    internal bool Internal_RaycastRef(Ray ray, ref global::UIHotSpot.Hit hit)
    {
        Bounds bounds;

        bounds..ctor(this.center, this.size);
        if (bounds.IntersectRay(ray, ref hit.distance))
        {
            hit.point  = ray.GetPoint(hit.distance);
            hit.normal = -ray.direction;
            return(true);
        }
        return(false);
    }
 // Token: 0x060048BE RID: 18622 RVA: 0x001144D4 File Offset: 0x001126D4
 internal bool Internal_RaycastRef(Ray ray, ref global::UIHotSpot.Hit hit)
 {
     throw new NotImplementedException();
 }