-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Merged by Bors] - update archetypes for run criterias #2177
Conversation
a0803a4
to
053f4ae
Compare
053f4ae
to
c0494d1
Compare
c0494d1
to
ea6801d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, hm. I guess exclusive systems suffer from the same bug?
Yup I've already fixed the exclusive system bug in the pipelined rendering branch. Planned on upstreaming but never got around to it :) fn run(&mut self, world: &mut World) {
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() {
self.system.new_archetype(archetype);
}
self.system.run((), world);
self.system.apply_buffers(world);
} |
We should include the exclusive system fix in the same PR right? |
added fix and test for exclusive systems |
bors r+ |
fixes #2000 archetypes were not updated for run criteria on a stage or on a system set
Pull request successfully merged into main. Build succeeded: |
fixes bevyengine#2000 archetypes were not updated for run criteria on a stage or on a system set
fixes #2000
archetypes were not updated for run criteria on a stage or on a system set