@@ 145,6 145,36 @@ pub fn process_packets(
*amount = *m_amount;
*max = *m_max;
}
+ PlayerLeave { id } => {
+ let mut part_query = world.query_filtered::<(Entity, &ServerId), With<Part>>();
+ let mut entity_to_remove = None;
+ for (entity, server_id) in part_query.iter_mut(world) {
+ if server_id.0 == *id {
+ entity_to_remove = Some(entity);
+ }
+ }
+ match entity_to_remove {
+ Some(entity) => {
+ world.despawn(entity);
+ }
+ None => {}
+ }
+ }
+ DespawnPart { id } => {
+ let mut part_query = world.query_filtered::<(Entity, &ServerId), With<Part>>();
+ let mut entity_to_remove = None;
+ for (entity, server_id) in part_query.iter_mut(world) {
+ if server_id.0 == *id {
+ entity_to_remove = Some(entity);
+ }
+ }
+ match entity_to_remove {
+ Some(entity) => {
+ world.despawn(entity);
+ }
+ None => {}
+ }
+ }
_ => {}
}
}