Skip to content

Commit c286bb8

Browse files
committed
Reuse apply_array for mutations
1 parent 7d4557f commit c286bb8

1 file changed

Lines changed: 7 additions & 13 deletions

File tree

src/client.rs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -687,9 +687,8 @@ fn apply_mutations(
687687
});
688688

689689
let mut data = message.split_to(data_size);
690-
let mut components_count = 0;
691-
while data.has_remaining() {
692-
let fns_id = postcard_utils::from_buf(&mut data)?;
690+
let len = apply_array(ArrayKind::Dynamic, &mut data, |data| {
691+
let fns_id = postcard_utils::from_buf(data)?;
693692
let (_, component_id, fns) = params.registry.get(fns_id);
694693
let mut ctx = WriteCtx {
695694
entity_map: params.entity_map,
@@ -705,27 +704,22 @@ fn apply_mutations(
705704
);
706705

707706
if new_tick {
708-
fns.write(
709-
&mut ctx,
710-
params.entity_markers,
711-
&mut client_entity,
712-
&mut data,
713-
)?;
707+
fns.write(&mut ctx, params.entity_markers, &mut client_entity, data)?;
714708
} else {
715709
fns.consume_or_write(
716710
&mut ctx,
717711
params.entity_markers,
718712
params.command_markers,
719713
&mut client_entity,
720-
&mut data,
714+
data,
721715
)?;
722716
}
723717

724-
components_count += 1;
725-
}
718+
Ok(())
719+
})?;
726720

727721
if let Some(stats) = &mut params.stats {
728-
stats.components_changed += components_count;
722+
stats.components_changed += len;
729723
}
730724

731725
client_entity.flush();

0 commit comments

Comments
 (0)