Files
Paradise/code/controllers/subsystem/non_firing/SSassets.dm
Aylong 9d968e6ba9 Port DmIcon & Image components from TG (#26623)
* Port DmIcon & Image components from TG

* Documentation

* Uh oh

* I hate it

* I will bang you
2024-09-23 21:04:37 +00:00

40 lines
1.1 KiB
Plaintext

SUBSYSTEM_DEF(assets)
name = "Assets"
init_order = INIT_ORDER_ASSETS
flags = SS_NO_FIRE
/// Contains /datum/asset_cache_item
var/list/cache = list()
var/list/preload = list()
var/datum/asset_transport/transport = new()
/datum/controller/subsystem/assets/Initialize(timeofday)
load_assets()
apply_configuration()
/datum/controller/subsystem/assets/Recover()
cache = SSassets.cache
preload = SSassets.preload
/datum/controller/subsystem/assets/proc/apply_configuration(initialize_transport = TRUE)
var/newtransporttype = /datum/asset_transport
switch(GLOB.configuration.asset_cache.asset_transport)
if("webroot")
newtransporttype = /datum/asset_transport/webroot
if(newtransporttype == transport.type)
return
var/datum/asset_transport/newtransport = new newtransporttype
if(newtransport.validate_config())
transport = newtransport
if(initialize_transport)
transport.Initialize(cache)
/datum/controller/subsystem/assets/proc/load_assets()
for(var/datum/asset/asset_to_load as anything in typesof(/datum/asset))
if(initial(asset_to_load._abstract))
continue
load_asset_datum(type)