mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-08 00:21:43 +00:00
* Port DmIcon & Image components from TG * Documentation * Uh oh * I hate it * I will bang you
40 lines
1.1 KiB
Plaintext
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)
|