mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Split and clarify global lists of processing vs non-processing machinery. (#5307)
* Renaming local var 'machines' to avoid confusion with the global var of same name. * Delete the unused process scheduler machinery.dm file. Long since replaced with SSmachines * Split and clarify global lists of processing vs non-processing machinery. - Renamed the list of processing machinery from "machines" to "processing_machines" - Added new global list "machines" to be a list of all machines. - Since nearly every reference to machines actually wanted to iterate over all machines anyway, this works out great.
This commit is contained in:
@@ -1,67 +0,0 @@
|
||||
/var/global/machinery_sort_required = 0
|
||||
|
||||
/datum/controller/process/machinery/setup()
|
||||
name = "machinery"
|
||||
schedule_interval = 20 // every 2 seconds
|
||||
start_delay = 12
|
||||
|
||||
/datum/controller/process/machinery/doWork()
|
||||
internal_sort()
|
||||
internal_process_pipenets()
|
||||
internal_process_machinery()
|
||||
internal_process_power()
|
||||
internal_process_power_drain()
|
||||
|
||||
/datum/controller/process/machinery/proc/internal_sort()
|
||||
if(machinery_sort_required)
|
||||
machinery_sort_required = 0
|
||||
machines = dd_sortedObjectList(machines)
|
||||
|
||||
/datum/controller/process/machinery/proc/internal_process_machinery()
|
||||
for(last_object in machines)
|
||||
var/obj/machinery/M = last_object
|
||||
if(M && !QDELETED(M))
|
||||
if(M.process() == PROCESS_KILL)
|
||||
//M.inMachineList = 0 We don't use this debugging function
|
||||
machines.Remove(M)
|
||||
continue
|
||||
|
||||
if(M && M.use_power)
|
||||
M.auto_use_power()
|
||||
|
||||
SCHECK
|
||||
|
||||
/datum/controller/process/machinery/proc/internal_process_power()
|
||||
for(last_object in powernets)
|
||||
var/datum/powernet/powerNetwork = last_object
|
||||
if(istype(powerNetwork) && !QDELETED(powerNetwork))
|
||||
powerNetwork.reset()
|
||||
SCHECK
|
||||
continue
|
||||
|
||||
powernets.Remove(powerNetwork)
|
||||
|
||||
/datum/controller/process/machinery/proc/internal_process_power_drain()
|
||||
// Currently only used by powersinks. These items get priority processed before machinery
|
||||
for(last_object in processing_power_items)
|
||||
var/obj/item/I = last_object
|
||||
if(!I.pwr_drain()) // 0 = Process Kill, remove from processing list.
|
||||
processing_power_items.Remove(I)
|
||||
SCHECK
|
||||
|
||||
/datum/controller/process/machinery/proc/internal_process_pipenets()
|
||||
for(last_object in pipe_networks)
|
||||
var/datum/pipe_network/pipeNetwork = last_object
|
||||
if(istype(pipeNetwork) && !QDELETED(pipeNetwork))
|
||||
pipeNetwork.process()
|
||||
SCHECK
|
||||
continue
|
||||
|
||||
pipe_networks.Remove(pipeNetwork)
|
||||
|
||||
/datum/controller/process/machinery/statProcess()
|
||||
..()
|
||||
stat(null, "[machines.len] machines")
|
||||
stat(null, "[powernets.len] powernets")
|
||||
stat(null, "[pipe_networks.len] pipenets")
|
||||
stat(null, "[processing_power_items.len] power item\s")
|
||||
@@ -90,10 +90,10 @@ SUBSYSTEM_DEF(machines)
|
||||
msg += "PO:[round(cost_power_objects,1)]"
|
||||
msg += "} "
|
||||
msg += "PI:[global.pipe_networks.len]|"
|
||||
msg += "MC:[global.machines.len]|"
|
||||
msg += "MC:[global.processing_machines.len]|"
|
||||
msg += "PN:[global.powernets.len]|"
|
||||
msg += "PO:[global.processing_power_items.len]|"
|
||||
msg += "MC/MS:[round((cost ? global.machines.len/cost_machinery : 0),0.1)]"
|
||||
msg += "MC/MS:[round((cost ? global.processing_machines.len/cost_machinery : 0),0.1)]"
|
||||
..(jointext(msg, null))
|
||||
|
||||
/datum/controller/subsystem/machines/proc/process_pipenets(resumed = 0)
|
||||
@@ -115,7 +115,7 @@ SUBSYSTEM_DEF(machines)
|
||||
|
||||
/datum/controller/subsystem/machines/proc/process_machinery(resumed = 0)
|
||||
if (!resumed)
|
||||
src.current_run = global.machines.Copy()
|
||||
src.current_run = global.processing_machines.Copy()
|
||||
|
||||
var/list/current_run = src.current_run
|
||||
while(current_run.len)
|
||||
@@ -125,7 +125,7 @@ SUBSYSTEM_DEF(machines)
|
||||
if(M.use_power)
|
||||
M.auto_use_power()
|
||||
else
|
||||
global.machines.Remove(M)
|
||||
global.processing_machines.Remove(M)
|
||||
if(!QDELETED(M))
|
||||
M.is_processing = null
|
||||
if(MC_TICK_CHECK)
|
||||
|
||||
Reference in New Issue
Block a user