Avoid using SystemTypeSet
for transform systems ambiguity (#7808)
Alternative to #7804 Allows other instances of the `sync_simple_transforms` and `propagate_transforms` systems to be added. Co-authored-by: devil-ira <justthecooldude@gmail.com>
This commit is contained in:
parent
d1a1f90902
commit
40e90b51b5
@ -90,6 +90,11 @@ pub struct TransformPlugin;
|
||||
|
||||
impl Plugin for TransformPlugin {
|
||||
fn build(&self, app: &mut App) {
|
||||
// A set for `propagate_transforms` to mark it as ambiguous with `sync_simple_transforms`.
|
||||
// Used instead of the `SystemTypeSet` as that would not allow multiple instances of the system.
|
||||
#[derive(Debug, Hash, PartialEq, Eq, Clone, SystemSet)]
|
||||
struct PropagateTransformsSet;
|
||||
|
||||
app.register_type::<Transform>()
|
||||
.register_type::<GlobalTransform>()
|
||||
.add_plugin(ValidParentCheckPlugin::<GlobalTransform>::default())
|
||||
@ -106,14 +111,22 @@ impl Plugin for TransformPlugin {
|
||||
.add_startup_system(
|
||||
sync_simple_transforms
|
||||
.in_set(TransformSystem::TransformPropagate)
|
||||
.ambiguous_with(propagate_transforms),
|
||||
.ambiguous_with(PropagateTransformsSet),
|
||||
)
|
||||
.add_startup_system(
|
||||
propagate_transforms
|
||||
.in_set(TransformSystem::TransformPropagate)
|
||||
.in_set(PropagateTransformsSet),
|
||||
)
|
||||
.add_startup_system(propagate_transforms.in_set(TransformSystem::TransformPropagate))
|
||||
.add_system(
|
||||
sync_simple_transforms
|
||||
.in_set(TransformSystem::TransformPropagate)
|
||||
.ambiguous_with(propagate_transforms),
|
||||
.ambiguous_with(PropagateTransformsSet),
|
||||
)
|
||||
.add_system(propagate_transforms.in_set(TransformSystem::TransformPropagate));
|
||||
.add_system(
|
||||
propagate_transforms
|
||||
.in_set(TransformSystem::TransformPropagate)
|
||||
.in_set(PropagateTransformsSet),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user