mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 09:42:29 +00:00
TGUI Outfit Manager and Editor (#58125)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user