Proximity sensing refactor (#26260)

* New proximity monitor datum

* Replace the old systems

* Fixes #26254

* Ports a New and spawn to Initialize

* Switch to Moved

* Remove unused var

* Speedup and fixes

* More speed

* qdel in movable

* Uneeded now

* Fix

* Use the faster RANGE_TURFS
This commit is contained in:
Cyberboss
2017-04-16 14:48:29 -06:00
committed by duncathan salt
parent 7dcfe586ea
commit 4f14ca7a49
12 changed files with 160 additions and 144 deletions
+16 -15
View File
@@ -10,14 +10,13 @@
var/machinedir = SOUTHEAST
speed_process = 1
/obj/machinery/mineral/stacking_unit_console/New()
..()
spawn(7)
src.machine = locate(/obj/machinery/mineral/stacking_machine, get_step(src, machinedir))
if (machine)
machine.CONSOLE = src
else
qdel(src)
/obj/machinery/mineral/stacking_unit_console/Initialize()
. = ..()
machine = locate(/obj/machinery/mineral/stacking_machine, get_step(src, machinedir))
if (machine)
machine.CONSOLE = src
else
qdel(src)
/obj/machinery/mineral/stacking_unit_console/attack_hand(mob/user)
@@ -71,6 +70,14 @@
input_dir = EAST
output_dir = WEST
/obj/machinery/mineral/stacking_machine/Initialize()
. = ..()
proximity_monitor = new(src, 1)
/obj/machinery/mineral/stacking_machine/HasProximity(atom/movable/AM)
if(istype(AM, /obj/item/stack/sheet) && AM.loc == get_step(src, input_dir))
process_sheet(AM)
/obj/machinery/mineral/stacking_machine/proc/process_sheet(obj/item/stack/sheet/inp)
if(!(inp.type in stack_list)) //It's the first of this sheet added
var/obj/item/stack/sheet/s = new inp.type(src,0)
@@ -83,10 +90,4 @@
var/obj/item/stack/sheet/out = new inp.type()
out.amount = stack_amt
unload_mineral(out)
storage.amount -= stack_amt
/obj/machinery/mineral/stacking_machine/process()
var/turf/T = get_step(src, input_dir)
if(T)
for(var/obj/item/stack/sheet/S in T)
process_sheet(S)
storage.amount -= stack_amt