mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-22 05:17:38 +01:00
Observable move not unregistering correctly fix (#17387)
* Atomization * oh the irony --------- Co-authored-by: FluffyGhost <FluffyGhost>
This commit is contained in:
@@ -14,6 +14,16 @@ var/singleton/observ/moved/moved_event = new()
|
||||
child = parent
|
||||
parent = child.loc
|
||||
|
||||
/singleton/observ/moved/unregister(event_source, datum/listener, proc_call)
|
||||
. = ..()
|
||||
var/atom/movable/child = event_source
|
||||
if(.)
|
||||
var/atom/movable/parent = child.loc
|
||||
while(istype(parent) && moved_event.is_listening(parent, child))
|
||||
moved_event.unregister(parent, child, TYPE_PROC_REF(/atom/movable, recursive_move))
|
||||
child = parent
|
||||
parent = child.loc
|
||||
|
||||
/singleton/observ/moved/proc/register_all_movement(var/event_source, var/listener)
|
||||
moved_event.register(event_source, listener, /atom/movable/proc/recursive_move)
|
||||
dir_set_event.register(event_source, listener, /atom/proc/recursive_dir_set)
|
||||
|
||||
Reference in New Issue
Block a user