use std::collections::BTreeSet;
use avian2d::prelude::{AngularVelocity, LinearVelocity};
use bevy::prelude::{Added, Changed, Commands, MessageWriter, Query, Ref};
use crate::prelude::{debug, Entity, ParamSet, Transform};
use crate::shared::ecs::{Part, Temperature};
use crate::shared::net::part::{PartDto};
use crate::shared::net::staged_transform::LastStagedTransform;
use crate::shared::net::{SendTargets, ToClients};
pub fn send_updated_parts(
parts: Query<(Entity, Ref<Part>, Ref<Transform>, Ref<Temperature>, Ref<LinearVelocity>, Ref<AngularVelocity>)>,
mut messages: MessageWriter<ToClients<PartDto>>
) {
for part in parts {
messages.write(ToClients {
message: PartDto {
server_entity: part.0,
part: part.1.into(),
transform: part.2.into(),
temperature: part.3.into(),
linvel: part.4.into(),
angvel: part.5.into()
},
targets: SendTargets::All
});
}
}