From 94a593cbb8bbdfb06fdc091c64abcf45b479ddfc Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Sun, 17 Oct 2021 10:56:56 +0100 Subject: [PATCH] Stacking Machine GC (#16958) --- code/modules/mining/machine_stacking.dm | 35 +++++++++++++++++-------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index f143b064722..fd687019ffe 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -7,22 +7,30 @@ desc = "Controls a stacking machine... in theory." density = FALSE anchored = TRUE - var/obj/machinery/mineral/stacking_machine/machine = null + var/obj/machinery/mineral/stacking_machine/machine var/machinedir = SOUTHEAST -/obj/machinery/mineral/stacking_unit_console/New() - ..() +/obj/machinery/mineral/stacking_unit_console/Initialize(mapload) + . = ..() machine = locate(/obj/machinery/mineral/stacking_machine, get_step(src, machinedir)) if(machine) - machine.CONSOLE = src + machine.console = src else - qdel(src) + return INITIALIZE_HINT_QDEL + +/obj/machinery/mineral/stacking_unit_console/Destroy() + if(machine) + machine.console = null + machine = null + return ..() /obj/machinery/mineral/stacking_unit_console/attack_hand(mob/user) - var/obj/item/stack/sheet/s var/dat + if(!machine) + return + dat += text("Stacking unit console

") for(var/O in machine.stack_list) @@ -60,15 +68,20 @@ desc = "A machine that automatically stacks acquired materials. Controlled by a nearby console." density = TRUE anchored = TRUE - var/obj/machinery/mineral/stacking_unit_console/CONSOLE - var/stk_types = list() - var/stk_amt = list() - var/stack_list[0] //Key: Type. Value: Instance of type. - var/stack_amt = 50; //ammount to stack before releassing + var/obj/machinery/mineral/stacking_unit_console/console + var/list/stack_list = list() //Key: Type. Value: Instance of type. + var/stack_amt = 50 //ammount to stack before releassing input_dir = EAST output_dir = WEST speed_process = TRUE +/obj/machinery/mineral/stacking_machine/Destroy() + QDEL_LIST(stack_list) + if(console) + console.machine = null + console = null + return ..() + /obj/machinery/mineral/stacking_machine/process() var/turf/T = get_step(src, input_dir) if(T)