public IEnumerable <Ray2D> CreateDetectionRays(Vector2 origin) { origin += offset; Vector3 lineStart = origin - .5f * spread * Vector2.right; Vector3 lineEnd = origin + .5f * spread * Vector2.right; for (int i = 0; i < numberOfRays; i++) { Vector2 rayOrigin = VectorOps.Lerp(lineStart, lineEnd, (float)i / numberOfRays); Vector2 rayDirection = -Vector2.up; yield return(new Ray2D(rayOrigin, rayDirection)); } }