function PauseAllUnitsBJ takes boolean pause returns nothing
local integer index
local player indexPlayer
local group g
set bj_pauseAllUnitsFlag = pause
set g = CreateGroup()
set index = 0
loop
set indexPlayer = Player( index )
// If this is a computer slot, pause/resume the AI.
if (GetPlayerController( indexPlayer ) == MAP_CONTROL_COMPUTER) then
call PauseCompAI( indexPlayer, pause )
endif
// Enumerate and unpause every unit owned by the player.
call GroupEnumUnitsOfPlayer( g, indexPlayer, null )
call ForGroup( g, function PauseAllUnitsBJEnum )
call GroupClear( g )
set index = index + 1
exitwhen index == bj_MAX_PLAYER_SLOTS
endloop
call DestroyGroup(g)
endfunction