/// <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); }