/datum/controller/air_system
Vars | |
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 |
Procs | |
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. |
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
- A list of air groups that have had their geometry occluded and thus may need to be split in half.
- A set of adjacent groups put in here will join together if validly connected.
- This is done before air system calculations for a cycle.
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.