bevy/crates/bevy_ecs/src/system
Torne Wuff b1afe2dcca Make System responsible for updating its own archetypes (#4115)
# Objective

- Make it possible to use `System`s outside of the scheduler/executor without having to define logic to track new archetypes and call `System::add_archetype()` for each.

## Solution

- Replace `System::add_archetype(&Archetype)` with `System::update_archetypes(&World)`, making systems responsible for tracking their own most recent archetype generation the way that `SystemState` already does.

This has minimal (or simplifying) effect on most of the code with the exception of `FunctionSystem`, which must now track the latest `ArchetypeGeneration` it saw instead of relying on the executor to do it.

Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2022-04-07 20:50:43 +00:00
..
commands small and mostly pointless refactoring (#2934) 2022-02-13 22:33:55 +00:00
exclusive_system.rs Make System responsible for updating its own archetypes (#4115) 2022-04-07 20:50:43 +00:00
function_system.rs Make System responsible for updating its own archetypes (#4115) 2022-04-07 20:50:43 +00:00
mod.rs Make System responsible for updating its own archetypes (#4115) 2022-04-07 20:50:43 +00:00
query.rs Rename get_multiple APIs to get_many (#4384) 2022-03-31 20:59:26 +00:00
system.rs Make System responsible for updating its own archetypes (#4115) 2022-04-07 20:50:43 +00:00
system_chaining.rs Make System responsible for updating its own archetypes (#4115) 2022-04-07 20:50:43 +00:00
system_param.rs Update RemovedComponents doc comment (#4373) 2022-03-31 20:24:32 +00:00