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 TimerUtils initializer Init
globals
private integer AMOUNT=32
private timer array TIMER
private integer array ATTACH
private boolean array USED
private integer array ID
private timer TIME
endglobals
function NewTimer takes nothing returns timer
local integer i=0
loop
set i=i+1
exitwhen USED[i]==false
if i==AMOUNT and USED[i]==true then
set i=i+1
set AMOUNT=i
set TIMER[i]=CreateTimer()
set USED[i]=false
set ID[i]=GetHandleId(TIMER[i])
set ATTACH[i]=0
set i=i-1
endif
endloop
set USED[i]=true
return TIMER[i]
endfunction
function GetTimerId takes timer t returns integer
local integer i=0
local integer id=GetHandleId(t)
loop
set i=i+1
exitwhen ID[i]==id
endloop
return i
endfunction
function NewTimerEx takes integer d returns timer
set TIME=NewTimer()
set ATTACH[GetTimerId(TIME)]=d
return TIME
endfunction
function ReleaseTimer takes timer t returns nothing
local integer i=0
local integer id=GetHandleId(t)
call PauseTimer(t)
loop
set i=i+1
exitwhen ID[i]==id
endloop
set USED[i]=false
set ATTACH[i]=0
endfunction
function SetTimerData takes timer t, integer ii returns nothing
local integer id=GetHandleId(t)
local integer i=0
loop
set i=i+1
exitwhen ID[i]==id
endloop
set ATTACH[i]=ii
endfunction
function GetTimerData takes timer t returns integer
local integer i=0
local integer id=GetHandleId(t)
loop
set i=i+1
exitwhen ID[i]==id
endloop
return ATTACH[i]
endfunction
private function Init takes nothing returns nothing
local integer i=0
loop
set i=i+1
set TIMER[i]=CreateTimer()
set USED[i]=false
set ATTACH[i]=0
set ID[i]=GetHandleId(TIMER[i])
exitwhen i==AMOUNT
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.