ClosureForGroups
Source function forDestructablesInRange('unknown type'
(the type vec2 could not be found, the containing package might not be imported) pos, real range, ForGroupCallbackD cb)
Source
 Executes the given closure for all destructables in a rect
that incompasses the circle with the range radius at the given position. 
 function forDestructablesInRange('unknown type'
(the type vec2 could not be found, the containing package might not be imported) pos, real range, boolexpr filter, ForGroupCallbackD cb)
Source
 Executes the given closure for all destructables in a rect
that incompasses the circle with the range radius at the given position. 
 function forDestructablesInRect(rect r, ForGroupCallbackD cb)
Source
 Executes the given closure for all destructables in the given rect 
 function forDestructablesInRect(rect r, boolexpr filter, ForGroupCallbackD cb)
Source
 Executes the given closure for all destructables in the given rect 
 function static group.forEachFrom(ForGroupCallback cb)
Source
 Executes the given closure for every unit in this group,
removing the units from the group as processed 
 function static group.forEachIn(ForGroupCallback cb)
Source
 Executes the given closure for every unit in this group,
keeping all units in the group 
 function forNearestDestructable('unknown type'
(the type vec2 could not be found, the containing package might not be imported) pos, real range, ForGroupCallbackD c)
Source
 Executes the given closure for the closes destructable in the given rect.
If there is no destructable in range, the closure will be run with "null" 
 function forNearestUnit('unknown type'
(the type vec2 could not be found, the containing package might not be imported) pos, real range, filterfunc filter, ForGroupCallback c)
Source
 Executes the given closure for the closest unit inside the given range of the given position,
matching the provided filter. If there is no unit in range, the closure will be run with "null" 
 function forUnitsAll(ForGroupCallback c)
Source
 Executes the given closure for every existing unit 
 function forUnitsInRange('unknown type'
(the type vec2 could not be found, the containing package might not be imported) pos, real radius, ForGroupCallback c)
Source
 Executes the given closure for every unit in range of the given position 
 function forUnitsInRange('unknown type'
(the type vec2 could not be found, the containing package might not be imported) pos, real radius, boolean collisionSizeFiltering, ForGroupCallback c)
Source
 Executes the given closure for every unit in range of the given position
With collisionSizeFiltering true it will take the units' collision into account. 
 function forUnitsInRangeCounted('unknown type'
(the type vec2 could not be found, the containing package might not be imported) pos, real radius, int count, ForGroupCallback c)
Source
 Executes the given closure for every unit in range of the given position
Cancels itself after *count* iterations 
 function forUnitsInRect(rect r, ForGroupCallback c)
Source
 Executes the given closure for every unit in the given rect 
 function forUnitsInRectCounted(rect r, int count, ForGroupCallback c)
Source
 Executes the given closure for every unit in the given rect.
Cancels itself after *count* iterations 
 function forUnitsOfPlayer(player p, ForGroupCallback c)
Source
 Executes the given closure for every unit of the given player 
 function forUnitsOfType(string unitname, ForGroupCallback c)
Source
 Executes the given closure for every unit of the given type.
Remember that names of custom units are "custom_[typeId]" 
 function forUnitsOfTypeCounted(string unitname, int count, ForGroupCallback c)
Source
 Executes the given closure for every unit of the given player.
Cancels itself after *count* iterations 
 function forUnitsSelected(player p, ForGroupCallback c)
Source
 Executes the given closure for every unit selected by the given player 
interface ForGroupCallback
Source
 function callback(unit u)
Source
interface ForGroupCallbackD
Source
 function callback(destructable d)
Source