Skip to content

Commit 6137b70

Browse files
committed
removed duplicated logic in on_insert for visibility filter
1 parent 769162f commit 6137b70

1 file changed

Lines changed: 16 additions & 20 deletions

File tree

src/server/visibility.rs

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -136,26 +136,22 @@ fn on_insert<F: VisibilityFilter>(
136136
entities: Query<(Entity, &F), (Without<ClientVisibility>, Allow<Disabled>)>,
137137
mut clients: Query<(Entity, Option<&F::ClientComponent>, &mut ClientVisibility)>,
138138
) {
139+
// `F` and `F::ClientComponent` could be the same,
140+
// so we need to ensure that it was not inserted into a client
141+
if clients.contains(insert.entity) {
142+
return;
143+
}
144+
139145
let bit = registry.bit::<F>();
140-
if let Ok((client, client_component, mut visibility)) = clients.get_mut(insert.entity) {
141-
for (entity, component) in &entities {
142-
let visible = component.is_visible(client, client_component);
143-
debug!(
144-
"evaluating inserted `{}` to client `{client}` for entity `{entity}` to `{visible}`",
145-
ShortName::of::<F>(),
146-
);
147-
visibility.set(entity, bit, visible);
148-
}
149-
} else {
150-
let (entity, component) = entities.get(insert.entity).unwrap();
151-
for (client, client_component, mut visibility) in &mut clients {
152-
let visible = component.is_visible(client, client_component);
153-
debug!(
154-
"evaluating inserted `{}` to entity `{entity}` for client `{client}` to `{visible}`",
155-
ShortName::of::<F>(),
156-
);
157-
visibility.set(insert.entity, bit, visible);
158-
}
146+
147+
let (entity, component) = entities.get(insert.entity).unwrap();
148+
for (client, client_component, mut visibility) in &mut clients {
149+
let visible = component.is_visible(client, client_component);
150+
debug!(
151+
"evaluating inserted `{}` to entity `{entity}` for client `{client}` to `{visible}`",
152+
ShortName::of::<F>(),
153+
);
154+
visibility.set(insert.entity, bit, visible);
159155
}
160156
}
161157

@@ -188,7 +184,7 @@ fn on_remove<F: VisibilityFilter>(
188184
) {
189185
// `F` and `F::ClientComponent` could be the same,
190186
// so we need to ensure that it wasn't removed from a client.
191-
if clients.get(remove.entity).is_ok() {
187+
if clients.contains(remove.entity) {
192188
return;
193189
}
194190

0 commit comments

Comments
 (0)