mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
36 lines
838 B
Plaintext
36 lines
838 B
Plaintext
var/global/datum/controller/process/ticker/tickerProcess
|
|
|
|
/datum/controller/process/ticker
|
|
var/lastTickerTimeDuration
|
|
var/lastTickerTime
|
|
|
|
/datum/controller/process/ticker/setup()
|
|
name = "ticker"
|
|
schedule_interval = 20 // every 2 seconds
|
|
|
|
lastTickerTime = world.timeofday
|
|
|
|
if(!ticker)
|
|
ticker = new
|
|
|
|
tickerProcess = src
|
|
|
|
spawn(0)
|
|
if(ticker)
|
|
ticker.pregame()
|
|
|
|
/datum/controller/process/ticker/doWork()
|
|
var/currentTime = world.timeofday
|
|
|
|
if(currentTime < lastTickerTime) // check for midnight rollover
|
|
lastTickerTimeDuration = (currentTime - (lastTickerTime - TICKS_IN_DAY)) / TICKS_IN_SECOND
|
|
else
|
|
lastTickerTimeDuration = (currentTime - lastTickerTime) / TICKS_IN_SECOND
|
|
|
|
lastTickerTime = currentTime
|
|
|
|
ticker.process()
|
|
|
|
/datum/controller/process/ticker/proc/getLastTickerTimeDuration()
|
|
return lastTickerTimeDuration
|