mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 07:38:05 +01:00
Fix connect_loc runtiming for multiple turfs (#58269)
This commit is contained in:
@@ -43,7 +43,9 @@
|
||||
RegisterSignal(target.loc, COMSIG_TURF_CHANGE, .proc/on_turf_change)
|
||||
|
||||
/datum/element/connect_loc/proc/unregister_signals(atom/movable/target, atom/old_loc)
|
||||
LAZYREMOVE(targets[old_loc], target)
|
||||
targets[old_loc] -= target
|
||||
if (length(targets[old_loc]) == 0)
|
||||
targets -= old_loc
|
||||
|
||||
for (var/signal in connections)
|
||||
target.UnregisterSignal(old_loc, signal)
|
||||
|
||||
@@ -43,6 +43,16 @@
|
||||
run_loc_floor_bottom_left.ChangeTurf(old_turf_type)
|
||||
return ..()
|
||||
|
||||
/// Tests that multiple objects can have connect_loc on the same turf without runtimes.
|
||||
/datum/unit_test/connect_loc_multiple_on_turf
|
||||
|
||||
/datum/unit_test/connect_loc_multiple_on_turf/Run()
|
||||
var/obj/item/watches_mock_calls/watcher_one = allocate(/obj/item/watches_mock_calls, run_loc_floor_bottom_left)
|
||||
qdel(watcher_one)
|
||||
|
||||
var/obj/item/watches_mock_calls/watcher_two = allocate(/obj/item/watches_mock_calls, run_loc_floor_bottom_left)
|
||||
qdel(watcher_two)
|
||||
|
||||
/obj/item/watches_mock_calls
|
||||
var/times_called
|
||||
|
||||
|
||||
Reference in New Issue
Block a user