Goonstation 13 - Modules - TypesVar Details - Proc Details

/datum/controller/air_system

Vars

active_singletonsList of turfs without a group to be processed.
active_super_conductivityTiles queued to be processed for superconductivity.
air_groupsList of air groups to be processed.
current_cycleCurrent cycle of air_system.
groups_to_rebuild
high_pressure_deltaTiles queued to be processed for pressure delta movement.
is_busyDon't want to accidentally modify something while still processing. Let's keep track if we're busy.
parent_controllerSelf-reference apparently.
space_sampleMuch better idea to cache a tile than to keep calling locate()
tiles_to_rebuildList of single turfs to rebuild together with [groups_to_rebuild].
tiles_to_spaceTurfs to be converted to space on the next cycle in case we're busy right now. Use [/turf/proc/delay_space_conversion] instead of adding to this list directly.
tiles_to_updateTurfs that are in this list have their border data updated before the next air calculations for a cycle. Place turfs in this list rather than call the proc directly to prevent race conditions

Procs

assemble_group_turfCollects turfs into groups.
processThis first processes the air_master update/rebuild lists then processes all groups and tiles for air calculations
process_groupsProcess all air groups. Do not call. Used by /datum/controller/air_system/proc/process.
process_high_pressure_deltaProcess any tiles queued for pressure delta movement. Do not call. Used by /datum/controller/air_system/proc/process.
process_rebuild_select_groupsProcess air groups queued for reconstruction. Deconstructs air groups into tiles, then creates new groups from those tiles. Do not call. Used by /datum/controller/air_system/proc/process.
process_singletonsProcess any singletons queued for processing. Do not call. Used by /datum/controller/air_system/proc/process.
process_super_conductivityProcess any tiles queued for superconduction. Do not call. Used by /datum/controller/air_system/proc/process.
process_tiles_to_spaceReplaces all queued tiles in /datum/controller/air_system/var/tiles_to_space with space. Do not call. Used by /datum/controller/air_system/proc/process.
process_update_tilesUpdates queued tiles. Do not call. Used by /datum/controller/air_system/proc/process.
setupMove every simulated turf into a group, then call /turf/simulated/proc/update_air_properties on them.
update_space_sampleUpdates cached space sample if need be. Returns: New space sample.

Var Details

active_singletons

List of turfs without a group to be processed.

active_super_conductivity

Tiles queued to be processed for superconductivity.

air_groups

List of air groups to be processed.

current_cycle

Current cycle of air_system.

groups_to_rebuild

high_pressure_delta

Tiles queued to be processed for pressure delta movement.

is_busy

Don't want to accidentally modify something while still processing. Let's keep track if we're busy.

parent_controller

Self-reference apparently.

space_sample

Much better idea to cache a tile than to keep calling locate()

tiles_to_rebuild

List of single turfs to rebuild together with [groups_to_rebuild].

tiles_to_space

Turfs to be converted to space on the next cycle in case we're busy right now. Use [/turf/proc/delay_space_conversion] instead of adding to this list directly.

tiles_to_update

Turfs that are in this list have their border data updated before the next air calculations for a cycle. Place turfs in this list rather than call the proc directly to prevent race conditions

Proc Details

assemble_group_turf

Collects turfs into groups.

process

This first processes the air_master update/rebuild lists then processes all groups and tiles for air calculations

process_groups

Process all air groups. Do not call. Used by /datum/controller/air_system/proc/process.

process_high_pressure_delta

Process any tiles queued for pressure delta movement. Do not call. Used by /datum/controller/air_system/proc/process.

process_rebuild_select_groups

Process air groups queued for reconstruction. Deconstructs air groups into tiles, then creates new groups from those tiles. Do not call. Used by /datum/controller/air_system/proc/process.

process_singletons

Process any singletons queued for processing. Do not call. Used by /datum/controller/air_system/proc/process.

process_super_conductivity

Process any tiles queued for superconduction. Do not call. Used by /datum/controller/air_system/proc/process.

process_tiles_to_space

Replaces all queued tiles in /datum/controller/air_system/var/tiles_to_space with space. Do not call. Used by /datum/controller/air_system/proc/process.

process_update_tiles

Updates queued tiles. Do not call. Used by /datum/controller/air_system/proc/process.

setup

Move every simulated turf into a group, then call /turf/simulated/proc/update_air_properties on them.

update_space_sample

Updates cached space sample if need be. Returns: New space sample.