Example #1
0
        private static int raycastHitUIComparerFunc(RaycastHitUI lhs, RaycastHitUI rhs)
        {
            if (lhs.SortingLayer != rhs.SortingLayer)
            {
                // Uses the layer value to properly compare the relative order of the layers.
                var rid = SortingLayer.GetLayerValueFromID(rhs.SortingLayer);
                var lid = SortingLayer.GetLayerValueFromID(lhs.SortingLayer);
                return(rid.CompareTo(lid));
            }

            if (lhs.SortingOrder != rhs.SortingOrder)
            {
                return(rhs.SortingOrder.CompareTo(lhs.SortingOrder));
            }

            if (lhs.Depth != rhs.Depth)
            {
                return(rhs.Depth.CompareTo(lhs.Depth));
            }

            if (!Mathf.Approximately(lhs.Distance, rhs.Distance))
            {
                return(lhs.Distance.CompareTo(rhs.Distance));
            }

            return(lhs.GraphicIndex.CompareTo(rhs.GraphicIndex));
        }
Example #2
0
 private void convertRaycast(RaycastHitUI old, ref RaycastResult current)
 {
     current.module       = old.Raycaster;
     current.gameObject   = old.Target == null ? null : old.Target.gameObject;
     current.depth        = old.Depth;
     current.index        = old.GraphicIndex;
     current.sortingLayer = old.SortingLayer;
     current.sortingOrder = old.SortingOrder;
 }
Example #3
0
 private HitResult doHit(IPointer pointer, RaycastHitUI raycastHit, out HitData hit)
 {
     hit = new HitData(raycastHit, this, true);
     return(checkHitFilters(pointer, hit));
 }