예제 #1
0
        /// <inheritdoc />
        public RayCastResults IntersectRay(MapId mapId, Ray ray, float maxLength = 50, IEntity ignoredEnt = null)
        {
            RayCastResults rayResults = default;

            bool Callback(int proxy, RayCastResults results)
            {
                if (results.HitEntity == ignoredEnt)
                {
                    return(false);
                }

                rayResults = results;
                return(true);
            }

            _broadphase.RayCast(Callback, mapId, ray, maxLength);

            DebugDrawRay?.Invoke(new DebugRayData(ray, maxLength, rayResults));
            return(rayResults);
        }