-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Closed
Labels
A-ECSEntities, components, systems, and eventsEntities, components, systems, and eventsC-BugAn unexpected or incorrect behaviorAn unexpected or incorrect behaviorC-UsabilityA targeted quality-of-life change that makes Bevy easier to useA targeted quality-of-life change that makes Bevy easier to use
Milestone
Description
Bevy version
main branch a1e4114
What you did
I am trying to order an exclusive system in a pretty standard way for Plugins using states:
- The system should run early in every frame (before any "normal" user systems)
- The system should only run in the given state
.add_system(
exclusive_system
.in_base_set(CoreSet::PreUpdate)
.in_set(MySet::Label)
.on_update(MyStates::State)
What went wrong
This triggers the unexpected panic SystemInMultipleBaseSets { system: "Some(System exclusive_system: {is_exclusive})", first_set: "StateTransitions", second_set: "PreUpdate" }'
Additional information
- The fact that this is an exclusive system seems irrelevant; the same panic happens with a normal system
- replacing
on_update
withrun_if(state_equals(MyStates::State))
removes the panic, but is the exact behaviour I would have expected fromon_update
Metadata
Metadata
Assignees
Labels
A-ECSEntities, components, systems, and eventsEntities, components, systems, and eventsC-BugAn unexpected or incorrect behaviorAn unexpected or incorrect behaviorC-UsabilityA targeted quality-of-life change that makes Bevy easier to useA targeted quality-of-life change that makes Bevy easier to use