mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-19 06:03:14 +00:00
* I hate coders This includes myself. * Web edit~ * I give up, this is the best I got * Make species take their alternate language instead of uncommon! Make language selection reflect foreigner, if selected! * Remove code that assumed old foreigner add proc was called * whyaremidroundspawnshandleddifferentlythanroundstartswhatthefuck * Apply suggestion! Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Address last review at long last * Apply suggestions! Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
65 lines
2.2 KiB
Plaintext
65 lines
2.2 KiB
Plaintext
/// Preference middleware is code that helps to decentralize complicated preference features.
|
|
/datum/preference_middleware
|
|
/// The preferences datum
|
|
var/datum/preferences/preferences
|
|
|
|
/// The key that will be used for get_constant_data().
|
|
/// If null, will use the typepath minus /datum/preference_middleware.
|
|
var/key = null
|
|
|
|
/// Map of ui_act actions -> proc paths to call.
|
|
/// Signature is `(list/params, mob/user) -> TRUE/FALSE.
|
|
/// Return output is the same as ui_act--TRUE if it should update, FALSE if it should not
|
|
var/list/action_delegations = list()
|
|
|
|
/datum/preference_middleware/New(datum/preferences)
|
|
src.preferences = preferences
|
|
|
|
if (isnull(key))
|
|
// + 2 coming from the off-by-one of copytext, and then another from the slash
|
|
key = copytext("[type]", length("[parent_type]") + 2)
|
|
|
|
/datum/preference_middleware/Destroy()
|
|
preferences = null
|
|
return ..()
|
|
|
|
/// Append all of these into ui_data
|
|
/datum/preference_middleware/proc/get_ui_data(mob/user)
|
|
return list()
|
|
|
|
/// Append all of these into ui_static_data
|
|
/datum/preference_middleware/proc/get_ui_static_data(mob/user)
|
|
return list()
|
|
|
|
/// Append all of these into ui_assets
|
|
/datum/preference_middleware/proc/get_ui_assets()
|
|
return list()
|
|
|
|
/// Append all of these into /datum/asset/json/preferences.
|
|
/datum/preference_middleware/proc/get_constant_data()
|
|
return null
|
|
|
|
/// Merge this into the result of compile_character_preferences.
|
|
/datum/preference_middleware/proc/get_character_preferences(mob/user)
|
|
return null
|
|
|
|
/// Called before every update_preference, returns TRUE if this handled it.
|
|
/datum/preference_middleware/proc/pre_set_preference(mob/user, preference, value)
|
|
return FALSE
|
|
|
|
/// Called when a character is changed.
|
|
/datum/preference_middleware/proc/on_new_character(mob/user)
|
|
return
|
|
|
|
// SKYRAT EDIT
|
|
/// Called after every update_preference, returns TRUE if this handled it.
|
|
/datum/preference_middleware/proc/post_set_preference(mob/user, preference, value)
|
|
return FALSE
|
|
|
|
/// Called when applying preferences to the mob.
|
|
/datum/preference_middleware/proc/apply_to_human(mob/living/carbon/human/target, datum/preferences/preferences) //SKYRAT EDIT CHANGE
|
|
SHOULD_NOT_SLEEP(TRUE)
|
|
SHOULD_CALL_PARENT(FALSE)
|
|
return
|
|
//SKYRAT EDIT END
|