mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 09:54:52 +00:00
28 lines
767 B
Plaintext
28 lines
767 B
Plaintext
|
|
SUBSYSTEM_DEF(fields)
|
|
name = "Fields"
|
|
wait = 2
|
|
priority = 40
|
|
flags = SS_KEEP_TIMING
|
|
var/list/datum/proximity_monitor/advanced/running = list()
|
|
var/list/datum/proximity_monitor/advanced/currentrun = list()
|
|
|
|
/datum/controller/subsystem/fields/fire(resumed = 0)
|
|
if(!resumed)
|
|
src.currentrun = running.Copy()
|
|
var/list/currentrun = src.currentrun
|
|
while(currentrun.len)
|
|
var/datum/proximity_monitor/advanced/F = currentrun[currentrun.len]
|
|
currentrun.len--
|
|
if(!F.requires_processing)
|
|
continue
|
|
F.process()
|
|
if(MC_TICK_CHECK)
|
|
return
|
|
|
|
/datum/controller/subsystem/fields/proc/register_new_field(datum/proximity_monitor/advanced/F)
|
|
running += F
|
|
|
|
/datum/controller/subsystem/fields/proc/unregister_field(datum/proximity_monitor/advanced/F)
|
|
running -= F
|