Exemple #1
0
        public bool Raycast(Ray ray, float distance, out RaycastInfo info)
        {
            info = new RaycastInfo();
            RaycastInfo[] infos;
            RaycastAll(ray, distance, out infos);

            var size = infos.Length;

            if (size > 0)
            {
                var min   = float.MaxValue;
                var index = -1;

                for (int i = 0; i < size; i++)
                {
                    if (infos[i].Distance < min)
                    {
                        min   = infos[i].Distance;
                        index = i;
                    }
                }

                if (index > -1)
                {
                    info = infos[index];
                }
            }

            return(size > 0);
        }
Exemple #2
0
 public bool Raycast(Vector3 origin, Vector3 direction, float distance, out RaycastInfo info)
 {
     return(Raycast(new Ray(origin, direction), distance, out info));
 }