From cd41bef74eb068b3fcd8181fa10e17818c03ab15 Mon Sep 17 00:00:00 2001 From: ESwordTheCat Date: Sat, 5 Apr 2014 05:08:45 +0800 Subject: [PATCH] Process events optimized loop. --- code/controllers/master_controller.dm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 2024e8e0bf0..971459200c2 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -211,7 +211,7 @@ datum/controller/game_controller/proc/process() //EVENTS timer = world.timeofday - process_events() + processEvents() events_cost = (world.timeofday - timer) / 10 //TICKER @@ -309,16 +309,16 @@ datum/controller/game_controller/proc/process_pipenets() nanomanager.processing_uis = nanomanager.processing_uis - Nanoui -datum/controller/game_controller/proc/process_events() +/datum/controller/game_controller/proc/processEvents() last_thing_processed = /datum/event - var/i = 1 - while(i<=events.len) - var/datum/event/Event = events[i] - if(Event) + + for (var/datum/event/Event in events) + if (Event) Event.process() - i++ continue - events.Cut(i,i+1) + + events = events - Event + checkEvent() datum/controller/game_controller/proc/Recover() //Mostly a placeholder for now.