Exemplo n.º 1
0
        public static bool CalculateDistance <T>(ref T target, ColliderDistanceInput input, out DistanceHit result) where T : struct, IQueryable
        {
            var collector = new ClosestHitCollector <DistanceHit>(input.MaxDistance);

            if (target.CalculateDistance(input, ref collector))
            {
                result = collector.ClosestHit;
                return(true);
            }

            result = new DistanceHit();
            return(false);
        }
Exemplo n.º 2
0
        public static bool RayCast <T>(ref T target, RaycastInput input, out RaycastHit closestHit) where T : struct, IQueryable
        {
            var collector = new ClosestHitCollector <RaycastHit>(1.0f);

            if (target.CastRay(input, ref collector))
            {
                closestHit = collector.ClosestHit;
                return(true);
            }

            closestHit = new RaycastHit();
            return(false);
        }
Exemplo n.º 3
0
        public static bool ColliderCast <T>(ref T target, ColliderCastInput input, out ColliderCastHit result) where T : struct, IQueryable
        {
            var collector = new ClosestHitCollector <ColliderCastHit>(1.0f);

            if (target.CastCollider(input, ref collector))
            {
                result = collector.ClosestHit;
                return(true);
            }

            result = new ColliderCastHit();
            return(false);
        }
Exemplo n.º 4
0
        public static bool OverlapCollider <T>(ref T target, OverlapColliderInput input, out OverlapColliderHit closestHit) where T : struct, IQueryable
        {
            var collector = new ClosestHitCollector <OverlapColliderHit>(1.0f);

            if (target.OverlapCollider(input, ref collector))
            {
                closestHit = collector.ClosestHit;
                return(true);
            }

            closestHit = new OverlapColliderHit();
            return(false);
        }