This is just like the CircleCastAll() functions from Unity, all with the same physics 2D cast processing, same parameters and same return type. The differences are only:
It draws a visualization for the cast
It adds 3 optional parameters to the end of the function signatures that only affect the visualization (namely "nameTag", "durationInSec" and "hiddenByNearerObjects")
You can just change the class prefix from existing code like "Physics2D.CircleCastAll()" becomes "DrawPhysics2D.CircleCastAll()" and it will work as before, but with the added visualization. In builds the visualization can be omitted by setting UsedUnityLineDrawingMethod to "disabled", but the cast and the returned function results will still work.
Green parameters are required. Yellow parameters are optional, but have to be supplied in order.
Code snippet names: drawCircleCastAll2D and drawCircleCastAll2D_func.
Parameters:
Type
Parameter Name
Description
Vector2
origin
float
radius
Vector2
direction
float
distance
int
layerMask
float
minDepth
float
maxDepth
string
nameTag
float
durationInSec
The duration in seconds how long the drawn thing stays visible. The default value of 0 means that it stays only during the current Update frame. Instead of using this parameter you can also overwrite him with a global setting so you don't always have to supply all other preceding function parameters till you reach this late parameter.
bool
hiddenByNearerObjects
This specifies if the drawn thing will get hidden if other geometry is in front of it or if it shines through. It is the same as the depthTest parameter of Unitys Debug.DrawLine(). Not all drawing methods support toggling this in the same way. For some methods the lines are fully hidden, for others the hidden lines shimmer through. Instead of using this parameter you can also overwrite him with a global setting so you don't always have to supply all other preceding function parameters till you reach this late parameter.