Files
Bubberstation/code/modules/client/preferences/middleware/names.dm
SkyratBot 124ddd7cca [MIRROR] tgui Preferences Menu + total rewrite of the preferences backend (#8153)
* tgui Preferences Menu + total rewrite of the preferences backend

* nah, we dont need to ping those people

* trying to remove the funny stuff

* unmodularizing this

* prefs reset

* this may need to be reverted, who knows

* okay, this part

* perhaps

* EEEEEEEEE

* unsanitary

* E

* Stage 1 + loadout system

* more fixes

* E

* I mean, it launches?

* More fixes and reorganisation

* E

* customisation code is spaget.

* disable ERP prefs

* Update erp_preferences.dm

* Update erp_preferences.dm

* E

* Slowly getting there

* It may be time for help :)

* tri...colors... help

* preferences now pass preferences

* Update dna.dm

* Fuck this man

* missing savefile return, set_species works, removed dumb stuff from updateappearance

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8199

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8224

* https://github.com/tgstation/tgstation/pull/61519

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8278

* e

* le butonAZARAK HELLO

* hhh

* Proper recognition where it's due, MrMelbert!

* EEEE

* examine block

* Better gen hit sounds from whitedream

* final loadout touches, more bug fixes im sure to come

* i said there would be bugfixes

* Update LoadoutManager.js

* Missing preferences in the html menu

* LIVE TESTING PHASE BABY

* Update LoadoutManager.js

* EEE

* LAUNCH TEST FIRE

* Update job.dm

* Update new_player.dm

* 50gb DAY ONE PATCH

* EEE

* Update preferences.dm

* buggle fixes

* Update examine.dm

* >LOOC starts on

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-09-23 00:40:37 +01:00

57 lines
1.6 KiB
Plaintext

/// Middleware that handles telling the UI which name to show, and waht names
/// they have.
/datum/preference_middleware/names
action_delegations = list(
"randomize_name" = .proc/randomize_name,
)
/datum/preference_middleware/names/get_constant_data()
var/list/data = list()
var/list/types = list()
for (var/preference_type in GLOB.preference_entries)
var/datum/preference/name/name_preference = GLOB.preference_entries[preference_type]
if (!istype(name_preference))
continue
types[name_preference.savefile_key] = list(
"can_randomize" = name_preference.is_randomizable(),
"explanation" = name_preference.explanation,
"group" = name_preference.group,
)
data["types"] = types
return data
/datum/preference_middleware/names/get_ui_data(mob/user)
var/list/data = list()
data["name_to_use"] = get_name_to_use()
return data
/datum/preference_middleware/names/proc/get_name_to_use()
var/highest_priority_job = preferences.get_highest_priority_job()
for (var/preference_type in GLOB.preference_entries)
var/datum/preference/name/name_preference = GLOB.preference_entries[preference_type]
if (!istype(name_preference))
continue
if (isnull(name_preference.relevant_job))
continue
if (istype(highest_priority_job, name_preference.relevant_job))
return name_preference.savefile_key
return "real_name"
/datum/preference_middleware/names/proc/randomize_name(list/params, mob/user)
var/datum/preference/name/name_preference = GLOB.preference_entries_by_key[params["preference"]]
if (!istype(name_preference))
return FALSE
return preferences.update_preference(name_preference, name_preference.create_random_value(preferences))