mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
[FEATURE] Decal painter (#27036)
* Add_Decal_Painter * Seperate TGUI file * Decal painter DmIcon * Fix some merge errors * I don't know why this merge is so incredibly fucked * Update TGUI bundle * I swear to god * Fixes DmIcon * TGUI bundle build * Remove implicit var * Final cleanup * Add decal_painter sprite * Update code/game/objects/items/devices/painter/decal_painter.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: Chap <erwin@lombok.demon.nl> * Add helper proc for deleting all components of a type from a datum * Added comments to cycle_style * Elementized decal fixes * Use the new decal system * TGUI bundle --------- Signed-off-by: Chap <erwin@lombok.demon.nl> Co-authored-by: Adrer <adrermail@gmail.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
@@ -449,6 +449,15 @@
|
||||
if(istype(removing, component_to_nuke) && !QDELETED(removing))
|
||||
qdel(removing)
|
||||
|
||||
/**
|
||||
* Removes all components of a given type from the datum
|
||||
*/
|
||||
/datum/proc/DeleteComponentsType(component_type_to_nuke)
|
||||
var/list/components = GetComponents(component_type_to_nuke)
|
||||
for(var/datum/component/removing in components)
|
||||
if(!QDELETED(removing))
|
||||
qdel(removing)
|
||||
|
||||
/**
|
||||
* Get existing component of type, or create it and return a reference to it
|
||||
*
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
if(isitem(target))
|
||||
INVOKE_ASYNC(target, TYPE_PROC_REF(/obj/item/, update_slot_icon), TRUE)
|
||||
if(_dir)
|
||||
RegisterSignal(target, COMSIG_ATOM_DECALS_ROTATING, PROC_REF(shuttle_rotate), TRUE)
|
||||
RegisterSignal(target, list(COMSIG_ATOM_DECALS_ROTATING, COMSIG_ATOM_GET_DECALS), PROC_REF(get_decals), TRUE)
|
||||
SSdcs.RegisterSignal(target, COMSIG_ATOM_DIR_CHANGE, TYPE_PROC_REF(/datum/controller/subsystem/processing/dcs, rotate_decals), override=TRUE)
|
||||
if(_cleanable)
|
||||
RegisterSignal(target, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean_react), TRUE)
|
||||
@@ -172,6 +172,6 @@
|
||||
Detach(source)
|
||||
new_turf.AddElement(type, pic.icon, base_icon_state, directional, pic.layer, pic.alpha, pic.color, cleanable, description)
|
||||
|
||||
/datum/element/decal/proc/shuttle_rotate(datum/source, list/datum/element/decal/rotating)
|
||||
/datum/element/decal/proc/get_decals(datum/source, list/datum/element/decal/rotating)
|
||||
SIGNAL_HANDLER // COMSIG_ATOM_DECALS_ROTATING
|
||||
rotating += src
|
||||
|
||||
Reference in New Issue
Block a user