mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
worn overlays proc sends a signal (#73101)
what the title says, it sends the list of overlays to be edited and some other stuff makes modsuits use this
This commit is contained in:
@@ -433,14 +433,6 @@
|
||||
retract(null, part)
|
||||
return ..()
|
||||
|
||||
/obj/item/mod/control/worn_overlays(mutable_appearance/standing, isinhands = FALSE, icon_file)
|
||||
. = ..()
|
||||
for(var/obj/item/mod/module/module as anything in modules)
|
||||
var/list/module_icons = module.generate_worn_overlay(standing)
|
||||
if(!length(module_icons))
|
||||
continue
|
||||
. += module_icons
|
||||
|
||||
/obj/item/mod/control/update_icon_state()
|
||||
icon_state = "[skin]-[base_icon_state][active ? "-sealed" : ""]"
|
||||
return ..()
|
||||
@@ -553,6 +545,7 @@
|
||||
modules += new_module
|
||||
complexity += new_module.complexity
|
||||
new_module.mod = src
|
||||
new_module.RegisterSignal(src, COMSIG_ITEM_GET_WORN_OVERLAYS, TYPE_PROC_REF(/obj/item/mod/module, add_module_overlay))
|
||||
new_module.on_install()
|
||||
if(wearer)
|
||||
new_module.on_equip()
|
||||
@@ -571,6 +564,7 @@
|
||||
old_module.on_suit_deactivation(deleting = deleting)
|
||||
if(old_module.active)
|
||||
old_module.on_deactivation(display_message = !deleting, deleting = deleting)
|
||||
old_module.UnregisterSignal(src, COMSIG_ITEM_GET_WORN_OVERLAYS)
|
||||
old_module.on_uninstall(deleting = deleting)
|
||||
QDEL_LIST_ASSOC_VAL(old_module.pinned_to)
|
||||
old_module.mod = null
|
||||
|
||||
@@ -264,6 +264,12 @@
|
||||
device = null
|
||||
qdel(src)
|
||||
|
||||
/// Adds the worn overlays to the suit.
|
||||
/obj/item/mod/module/proc/add_module_overlay(obj/item/source, list/overlays, mutable_appearance/standing, isinhands, icon_file)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
overlays += generate_worn_overlay(standing)
|
||||
|
||||
/// Generates an icon to be used for the suit's worn overlays
|
||||
/obj/item/mod/module/proc/generate_worn_overlay(mutable_appearance/standing)
|
||||
. = list()
|
||||
|
||||
Reference in New Issue
Block a user