fn update_archetypes(&mut self, systems: &mut [ParallelSystemContainer], world: &World) {
        #[cfg(feature = "trace")]
        let span = bevy_utils::tracing::info_span!("update_archetypes");
        #[cfg(feature = "trace")]
        let _guard = span.enter();
        let archetypes = world.archetypes();
        let new_generation = archetypes.generation();
        let old_generation = std::mem::replace(&mut self.archetype_generation, new_generation);
        let archetype_index_range = old_generation.value()..new_generation.value();

        for archetype in archetypes.archetypes[archetype_index_range].iter() {
            for (index, container) in systems.iter_mut().enumerate() {
                let meta = &mut self.system_metadata[index];
                let system = container.system_mut();
                system.new_archetype(archetype);
                meta.archetype_component_access
                    .extend(system.archetype_component_access());
            }
        }
    }
/// Calls system.new_archetype() for each archetype added since the last call to
/// [update_archetypes] and updates cached archetype_component_access.
Calls system.new_archetype() for each archetype added since the last call to
[update_archetypes] and updates cached archetype_component_access.
Calls system . new_archetype () for each archetype added since the last call to [ update_archetypes ] and updates cached archetype_component_access .
fn update_archetypes(&mut self, systems: &mut [ParallelSystemContainer], world: &World) {
        #[cfg(feature = "trace")]
        let span = bevy_utils::tracing::info_span!("update_archetypes");
        #[cfg(feature = "trace")]
        let _guard = span.enter();
        let archetypes = world.archetypes();
        let new_generation = archetypes.generation();
        let old_generation = std::mem::replace(&mut self.archetype_generation, new_generation);
        let archetype_index_range = old_generation.value()..new_generation.value();
        for archetype in archetypes.archetypes[archetype_index_range].iter() {
            for (index, container) in systems.iter_mut().enumerate() {
                let meta = &mut self.system_metadata[index];
                let system = container.system_mut();
                system.new_archetype(archetype);
                meta.archetype_component_access
                    .extend(system.archetype_component_access());
            }
        }
    }
fn update_archetypes ( & mut self , systems : & mut [ ParallelSystemContainer ] , world : & World ) { # [ cfg ( feature " " ) ] let span = bevy_utils :: tracing :: info_span ! ( " " ) ; # [ cfg ( feature " " ) ] let _guard = span . enter ( ) ; let archetypes = world . archetypes ( ) ; let new_generation = archetypes . generation ( ) ; let old_generation = std :: mem :: replace ( & mut self . archetype_generation , new_generation ) ; let archetype_index_range = old_generation . value ( ) .. new_generation . value ( ) ; for archetype in archetypes . archetypes [ archetype_index_range ] . iter ( ) { for ( index , container ) in systems . iter_mut ( ) . enumerate ( ) { let meta = & mut self . system_metadata [ index ] ; let system = container . system_mut ( ) ; system . new_archetype ( archetype ) ; meta . archetype_component_access . extend ( system . archetype_component_access ( ) ) ; } } }
Calls system.new_archetype() for each archetype added since the last call to
[update_archetypes] and updates cached archetype_component_access.
Calls system . new_archetype () for each archetype added since the last call to [ update_archetypes ] and updates cached archetype_component_access .
&mut self
systems
&mut [ParallelSystemContainer]
world
&World
&mut self
systems
&mut [ParallelSystemContainer]
world
&World