[MIRROR] Revert "Revert "/tg/ preference datums part 1: take two"" (#8929)

Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Kashargul <KashL@t-online.de>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2
2024-09-14 12:30:15 +02:00
committed by GitHub
co-authored by Heroman3003 Kashargul Kashargul
parent a8318eb241
commit 2986497a43
204 changed files with 5174 additions and 2371 deletions
@@ -0,0 +1,22 @@
/// Sends information needed for shared details on individual preferences
/datum/asset/json/preferences
name = "preferences"
/datum/asset/json/preferences/generate()
var/list/preference_data = list()
for(var/middleware_type in subtypesof(/datum/preference_middleware))
var/datum/preference_middleware/middleware = new middleware_type
var/data = middleware.get_constant_data()
if(!isnull(data))
preference_data[middleware.key] = data
qdel(middleware)
for(var/preference_type in GLOB.preference_entries)
var/datum/preference/preference_entry = GLOB.preference_entries[preference_type]
var/data = preference_entry.compile_constant_data()
if(!isnull(data))
preference_data[preference_entry.savefile_key] = data
return preference_data