Remove local dTimer, require dTimer lib

This commit is contained in:
Samuel Williams 2020-12-28 23:27:55 +00:00
parent a163ae388e
commit 24578a0eb3
2 changed files with 1 additions and 59 deletions

View File

@ -8,6 +8,6 @@ if not timeout or timeout:GetInt() < minTimeout then
RunConsoleCommand( "cl_timeout", minTimeout )
end
include( "cfc_disconnect_interface/client/cl_detached_timer.lua" )
require( "cfc_detached_timer" )
include( "cfc_disconnect_interface/client/cl_ponger.lua" )
include( "cfc_disconnect_interface/client/cl_interface.lua" )

View File

@ -1,58 +0,0 @@
dTimer = {}
dTimer.timers = {}
dTimer.idCounter = 0
function dTimer.Create( id, delay, reps, f )
dTimer.timers[id] = { id = id, delay = delay, reps = reps, func = f, lastCall = SysTime() }
end
function dTimer.Adjust( id, delay, reps, f )
if dTimer.timers[id] then
dTimer.timers[id].delay = delay or dTimer.timers[id].delay
dTimer.timers[id].reps = reps or dTimer.timers[id].reps
dTimer.timers[id].func = f or dTimer.timers[id].f
return true
end
return false
end
function dTimer.Exists( id )
return not not dTimer.timers[id]
end
function dTimer.Remove( id )
dTimer.timers[id] = nil
end
function dTimer.RepsLeft( id )
return dTimer.timers[id] and dTimer.timers[id].reps or -1
end
function dTimer.Simple( delay, f )
dTimer.Create( "SimpleTimer" .. dTimer.idCounter, delay, 1, f )
dTimer.idCounter = dTimer.idCounter + 1
end
hook.Add( "Think", "CFC_DisconnectInterface_DetatchedTimer", function()
local time = SysTime()
for id, curTimer in pairs( dTimer.timers ) do
local delayPassed = time - curTimer.lastCall > curTimer.delay
if delayPassed then
curTimer.lastCall = time
local hasReps = curTimer.reps > 0
if hasReps then
curTimer.reps = curTimer.reps - 1
if curTimer.reps == 0 then
dTimer.Remove( id )
end
end
curTimer.func()
end
end
end )