mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-21 04:57:57 +01:00
Correctly clears hanging_support_atom from atom mounted components (#94295)
This commit is contained in:
@@ -8,25 +8,28 @@
|
||||
if(!isobj(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
hanging_support_atom = target_structure
|
||||
|
||||
/datum/component/atom_mounted/RegisterWithParent()
|
||||
ADD_TRAIT(parent, TRAIT_WALLMOUNTED, REF(src))
|
||||
RegisterSignal(hanging_support_atom, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
if(isclosedturf(hanging_support_atom))
|
||||
RegisterSignal(hanging_support_atom, COMSIG_TURF_CHANGE, PROC_REF(on_turf_changing))
|
||||
else
|
||||
RegisterSignal(hanging_support_atom, COMSIG_QDELETING, PROC_REF(on_structure_delete))
|
||||
|
||||
/datum/component/atom_mounted/RegisterWithParent()
|
||||
ADD_TRAIT(parent, TRAIT_WALLMOUNTED, REF(src))
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_move))
|
||||
|
||||
/datum/component/atom_mounted/UnregisterFromParent()
|
||||
REMOVE_TRAIT(parent, TRAIT_WALLMOUNTED, REF(src))
|
||||
UnregisterSignal(parent, COMSIG_MOVABLE_MOVED)
|
||||
|
||||
/datum/component/atom_mounted/Destroy(force)
|
||||
UnregisterSignal(hanging_support_atom, list(COMSIG_ATOM_EXAMINE))
|
||||
if(isclosedturf(hanging_support_atom))
|
||||
UnregisterSignal(hanging_support_atom, COMSIG_TURF_CHANGE)
|
||||
else
|
||||
UnregisterSignal(hanging_support_atom, COMSIG_QDELETING)
|
||||
UnregisterSignal(parent, COMSIG_MOVABLE_MOVED)
|
||||
hanging_support_atom = null
|
||||
return ..()
|
||||
|
||||
/**
|
||||
* When the wall is examined, explains that it's supporting the linked object.
|
||||
|
||||
Reference in New Issue
Block a user