mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 17:52:36 +00:00
28 lines
966 B
Plaintext
28 lines
966 B
Plaintext
SUBSYSTEM_DEF(greyscale)
|
|
name = "Greyscale"
|
|
flags = SS_NO_FIRE
|
|
init_order = INIT_ORDER_GREYSCALE
|
|
|
|
var/list/datum/greyscale_config/configurations = list()
|
|
var/list/datum/greyscale_layer/layer_types = list()
|
|
|
|
/datum/controller/subsystem/greyscale/Initialize(start_timeofday)
|
|
for(var/datum/greyscale_layer/fake_type as anything in subtypesof(/datum/greyscale_layer))
|
|
layer_types[initial(fake_type.layer_type)] = fake_type
|
|
|
|
for(var/greyscale_type in subtypesof(/datum/greyscale_config))
|
|
var/datum/greyscale_config/config = new greyscale_type()
|
|
configurations["[greyscale_type]"] = config
|
|
|
|
return ..()
|
|
|
|
/datum/controller/subsystem/greyscale/proc/RefreshConfigsFromFile()
|
|
for(var/i in configurations)
|
|
configurations[i].Refresh(TRUE)
|
|
|
|
/datum/controller/subsystem/greyscale/proc/GetColoredIconByType(type, list/colors)
|
|
type = "[type]"
|
|
if(istype(colors)) // It's the color list format
|
|
colors = colors.Join()
|
|
return configurations[type].Generate(colors)
|