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