mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 10:01:40 +00:00
Merge pull request #4750 from Aranclanos/processloop
Better loops for all the process tickers of the master controller.
This commit is contained in:
@@ -236,83 +236,53 @@ var/global/pipe_processing_killed = 0
|
||||
*/
|
||||
|
||||
/datum/controller/game_controller/proc/process_mobs()
|
||||
var/i = 1
|
||||
while(i<=mob_list.len)
|
||||
var/mob/M = mob_list[i]
|
||||
if(M && !M.gc_destroyed)
|
||||
for(var/mob/M in mob_list)
|
||||
if(!M.gc_destroyed)
|
||||
last_thing_processed = M.type
|
||||
M.Life()
|
||||
i++
|
||||
continue
|
||||
mob_list.Cut(i,i+1)
|
||||
mob_list -= M
|
||||
|
||||
/datum/controller/game_controller/proc/process_diseases()
|
||||
var/i = 1
|
||||
while(i<=active_diseases.len)
|
||||
var/datum/disease/Disease = active_diseases[i]
|
||||
if(Disease)
|
||||
last_thing_processed = Disease.type
|
||||
Disease.process()
|
||||
i++
|
||||
continue
|
||||
active_diseases.Cut(i,i+1)
|
||||
for(var/datum/disease/Disease in active_diseases)
|
||||
last_thing_processed = Disease.type
|
||||
Disease.process()
|
||||
|
||||
/datum/controller/game_controller/proc/process_machines()
|
||||
var/i = 1
|
||||
while(i<=machines.len)
|
||||
var/obj/machinery/Machine = machines[i]
|
||||
if(Machine && !Machine.gc_destroyed)
|
||||
for(var/obj/machinery/Machine in machines)
|
||||
if(!Machine.gc_destroyed)
|
||||
last_thing_processed = Machine.type
|
||||
if(Machine.process() != PROCESS_KILL)
|
||||
if(Machine)
|
||||
if(Machine.use_power)
|
||||
Machine.auto_use_power()
|
||||
i++
|
||||
continue
|
||||
machines.Cut(i,i+1)
|
||||
machines -= Machine
|
||||
|
||||
/datum/controller/game_controller/proc/process_objects()
|
||||
var/i = 1
|
||||
while(i<=processing_objects.len)
|
||||
var/obj/Object = processing_objects[i]
|
||||
if(Object && !Object.gc_destroyed)
|
||||
for(var/obj/Object in processing_objects)
|
||||
if(!Object.gc_destroyed)
|
||||
last_thing_processed = Object.type
|
||||
Object.process()
|
||||
i++
|
||||
continue
|
||||
processing_objects.Cut(i,i+1)
|
||||
processing_objects -= Object
|
||||
|
||||
/datum/controller/game_controller/proc/process_pipenets()
|
||||
last_thing_processed = /datum/pipe_network
|
||||
var/i = 1
|
||||
while(i<=pipe_networks.len)
|
||||
var/datum/pipe_network/Network = pipe_networks[i]
|
||||
if(Network)
|
||||
Network.process()
|
||||
i++
|
||||
continue
|
||||
pipe_networks.Cut(i,i+1)
|
||||
for(var/datum/pipe_network/Network in pipe_networks)
|
||||
Network.process()
|
||||
|
||||
/datum/controller/game_controller/proc/process_powernets()
|
||||
last_thing_processed = /datum/powernet
|
||||
var/i = 1
|
||||
while(i<=powernets.len)
|
||||
var/datum/powernet/Powernet = powernets[i]
|
||||
if(Powernet)
|
||||
Powernet.reset()
|
||||
i++
|
||||
continue
|
||||
powernets.Cut(i,i+1)
|
||||
for(var/datum/powernet/Powernet in powernets)
|
||||
Powernet.reset()
|
||||
|
||||
/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.src_object && ui.user)
|
||||
for(var/datum/nanoui/ui in nanomanager.processing_uis)
|
||||
if(ui.src_object && ui.user)
|
||||
ui.process()
|
||||
i++
|
||||
continue
|
||||
nanomanager.processing_uis.Cut(i,i+1)
|
||||
nanomanager.processing_uis -= ui
|
||||
|
||||
/datum/controller/game_controller/proc/Recover() //Mostly a placeholder for now.
|
||||
var/msg = "## DEBUG: [time2text(world.timeofday)] MC restarted. Reports:\n"
|
||||
|
||||
Reference in New Issue
Block a user