Ports elements: Lightweight shared/global components.

This commit is contained in:
Ghommie
2019-11-28 01:47:20 +01:00
parent 8cec8fa506
commit dd9116ee70
14 changed files with 110 additions and 37 deletions
+12 -3
View File
@@ -1,6 +1,15 @@
SUBSYSTEM_DEF(dcs)
PROCESSING_SUBSYSTEM_DEF(dcs)
name = "Datum Component System"
flags = SS_NO_INIT | SS_NO_FIRE
flags = SS_NO_INIT
var/list/elements_by_type = list()
/datum/controller/subsystem/dcs/Recover()
/datum/controller/subsystem/processing/dcs/Recover()
comp_lookup = SSdcs.comp_lookup
/datum/controller/subsystem/processing/dcs/proc/GetElement(eletype)
. = elements_by_type[eletype]
if(.)
return
if(!ispath(eletype, /datum/element))
CRASH("Attempted to instantiate [eletype] as a /datum/element")
. = elements_by_type[eletype] = new eletype