From eed147e119e55ade764ba00d5d2c318c2d2a02ac Mon Sep 17 00:00:00 2001 From: ESwordTheCat Date: Sat, 5 Apr 2014 05:16:32 +0800 Subject: [PATCH] Process nano optimized loop. --- code/controllers/master_controller.dm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index fd90d7380b9..78df2710c85 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -204,7 +204,7 @@ datum/controller/game_controller/proc/process() //NANO UIS timer = world.timeofday - process_nano() + processNano() nano_cost = (world.timeofday - timer) / 10 sleep(breather_ticks) @@ -302,15 +302,13 @@ datum/controller/game_controller/proc/process_powernets() continue powernets.Cut(i,i+1) -datum/controller/game_controller/proc/process_nano() - var/i = 1 - while(i<=nanomanager.processing_uis.len) - var/datum/nanoui/ui = nanomanager.processing_uis[i] - if(ui) - ui.process() - i++ +/datum/controller/game_controller/proc/processNano() + for (var/datum/nanoui/Nanoui in nanomanager.processing_uis) + if (Nanoui) + Nanoui.process() continue - nanomanager.processing_uis.Cut(i,i+1) + + nanomanager.processing_uis = nanomanager.processing_uis - Nanoui datum/controller/game_controller/proc/process_events() last_thing_processed = /datum/event