TGUI Outfit Manager and Editor (#58125)

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
This commit is contained in:
Trigg
2021-04-11 14:47:03 -03:00
committed by GitHub
parent 48f9b2711b
commit 1542aa66bc
10 changed files with 603 additions and 261 deletions

View File

@@ -33,6 +33,7 @@ SUBSYSTEM_DEF(persistence)
LoadAntagReputation()
LoadRandomizedRecipes()
LoadPaintings()
load_custom_outfits()
GLOB.explorer_drone_adventures = load_adventures()
return ..()
@@ -183,6 +184,7 @@ SUBSYSTEM_DEF(persistence)
SaveRandomizedRecipes()
SavePaintings()
SaveScars()
save_custom_outfits()
/datum/controller/subsystem/persistence/proc/GetPhotoAlbums()
var/album_path = file("data/photo_albums.json")
@@ -411,3 +413,35 @@ SUBSYSTEM_DEF(persistence)
original_human.save_persistent_scars(TRUE)
else
original_human.save_persistent_scars()
/datum/controller/subsystem/persistence/proc/load_custom_outfits()
var/file = file("data/custom_outfits.json")
if(!fexists(file))
return
var/outfits_json = file2text(file)
var/list/outfits = json_decode(outfits_json)
if(!islist(outfits))
return
for(var/outfit_data in outfits)
if(!islist(outfit_data))
continue
var/outfittype = text2path(outfit_data["outfit_type"])
if(!ispath(outfittype, /datum/outfit))
continue
var/datum/outfit/outfit = new outfittype
if(!outfit.load_from(outfit_data))
continue
GLOB.custom_outfits += outfit
/datum/controller/subsystem/persistence/proc/save_custom_outfits()
var/file = file("data/custom_outfits.json")
fdel(file)
var/list/data = list()
for(var/datum/outfit/outfit in GLOB.custom_outfits)
data += list(outfit.get_json_data())
WRITE_FILE(file, json_encode(data))