Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
library GroupUtils initializer init
globals
private integer AMOUNT=64
private group array GROUPS
private boolean array USED
private integer array ID
private integer array ATTACH
endglobals
function NewGroupEx takes integer ii returns group
local integer i=0
loop
set i=i+1
exitwhen USED[i]==false
endloop
set USED[i]=true
set ATTACH[i]=ii
return GROUPS[i]
endfunction
function GetGroupData takes group g returns integer
local integer i=0
local integer id=GetHandleId(g)
loop
set i=i+1
exitwhen id=ID[i]
endloop
return ATTACH[i]
endfunction
function SetGroupData takes group g integer ii returns nothing
local integer i=0
local integer id=GetHandleId(g)
loop
set i=i+1
exitwhen id=ID[i]
endloop
set ATTACH[i]=ii
endfunction
function NewGroup takes nothing returns group
local integer i=0
loop
set i=i+1
exitwhen USED[i]==false
endloop
set USED[i]=true
return GROUPS[i]
endfunction
function ReleaseGroup takes group g returns nothing
local integer id=GetHandleId(g)
local integer i=0
loop
set i=i+1
exitwhen id==ID[i]
endloop
call GroupClear(g)
set USED[i]=false
endfunction
private function init takes nothing returns nothing
local integer i=0
loop
set i=i+1
exitwhen i==AMOUNT
set GROUPS[i]=CreateGroup()
set USED[i]=false
set ID[i]=GetHandleId(GROUPS[i])
set ATTACH[i]=0
endloop
endfunction
endlibrary
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.